diff --git a/src/mesh/blockMesh/blockFaces/projectFace/projectFace.C b/src/mesh/blockMesh/blockFaces/projectFace/projectFace.C
index 26fc1ef98ddd7cf2cbfde4cb89ef4d758c436f9c..20257f28bac3099034242e5f70c78007ae77fe97 100644
--- a/src/mesh/blockMesh/blockFaces/projectFace/projectFace.C
+++ b/src/mesh/blockMesh/blockFaces/projectFace/projectFace.C
@@ -247,7 +247,14 @@ void Foam::blockFaces::projectFace::project
         }
 
 
-        if (iter > 0 && (iResidual+jResidual)/initialResidual < relTol)
+        if
+        (
+            iter > 0
+         && (
+                initialResidual < ROOTVSMALL
+             || ((iResidual+jResidual)/initialResidual < relTol)
+            )
+        )
         {
             break;
         }