diff --git a/applications/test/wordRe/Test-wordRe.C b/applications/test/wordRe/Test-wordRe.C
index e3fae58cc579f48e6614bcad8d5fd67a244c7810..f5dfcda831f617efd6acace0e04d94a324035102 100644
--- a/applications/test/wordRe/Test-wordRe.C
+++ b/applications/test/wordRe/Test-wordRe.C
@@ -75,8 +75,8 @@ int main(int argc, char *argv[])
     wre.info(Info) << " after DETECT" << endl;
     wre.uncompile();
     wre.info(Info) << " uncompiled" << endl;
-    wre.recompile();
-    wre.info(Info) << " recompiled" << endl;
+    wre.compile();
+    wre.info(Info) << " re-compiled" << endl;
 
     wre.set("something .* value", wordRe::LITERAL);
     wre.info(Info) << " set as LITERAL" << endl;
diff --git a/src/OpenFOAM/primitives/strings/wordRe/wordRe.H b/src/OpenFOAM/primitives/strings/wordRe/wordRe.H
index c5a0a3b95ed820bc2ee292bd78dda34fabad4f11..612b2c96ab59b2b8e7fda635d76ced011a54f23d 100644
--- a/src/OpenFOAM/primitives/strings/wordRe/wordRe.H
+++ b/src/OpenFOAM/primitives/strings/wordRe/wordRe.H
@@ -39,8 +39,8 @@ Description
 
 Note
     If the string contents are changed - eg, by the operator+=() or by
-    string::replace(), etc - it will be necessary to use compile() or
-    recompile() to synchronize the regular expression.
+    string::replace(), etc - it will be necessary to use compile() to
+    synchronize the regular expression.
 
 SourceFiles
     wordRe.C
@@ -161,9 +161,6 @@ public:
             //- Possibly compile the regular expression, with greater control
             inline bool compile(const compOption) const;
 
-            //- Recompile an existing regular expression
-            inline bool recompile() const;
-
             //- Frees precompiled regular expression, making wordRe a literal.
             //  Optionally strips invalid word characters
             inline void uncompile(const bool doStripInvalid = false) const;
diff --git a/src/OpenFOAM/primitives/strings/wordRe/wordReI.H b/src/OpenFOAM/primitives/strings/wordRe/wordReI.H
index d35a8134b7c4c06d5648ece5feec6e9ebc9d698a..093093e05513de1bcd2f4f689156e2020178130e 100644
--- a/src/OpenFOAM/primitives/strings/wordRe/wordReI.H
+++ b/src/OpenFOAM/primitives/strings/wordRe/wordReI.H
@@ -165,17 +165,6 @@ inline bool Foam::wordRe::compile() const
 }
 
 
-inline bool Foam::wordRe::recompile() const
-{
-    if (re_.exists())
-    {
-        re_ = *this;
-    }
-
-    return re_.exists();
-}
-
-
 inline void Foam::wordRe::uncompile(const bool doStripInvalid) const
 {
     if (re_.clear())
@@ -265,6 +254,10 @@ inline void Foam::wordRe::operator=(const keyType& str)
     {
         compile();
     }
+    else
+    {
+        re_.clear();
+    }
 }