diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
index 0f8b5c1ed0310a290666e89f284707f6f604ac33..256b84ee106b3916c33618f4b7425e0f0ad32b14 100644
--- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
+++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C
@@ -137,10 +137,9 @@ int main(int argc, char *argv[])
             << cells.instance()/cells.local()/cells.name()
             << nl << endl;
 
-        for (const label celli : cells)
-        {
-            cutCells.erase(celli);
-        }
+
+        cutCells.retain(cells);
+
         Info<< "Removed from cells to cut all the ones not in set "
             << setName << nl << endl;
     }