diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
index 4bb6e3368ab33195ea104755cca7995f615b769f..38ce05f6c7ef326c55a9902348247ee50b9f7827 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C
@@ -2988,12 +2988,12 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh
         mesh.resetPrimitives
         (
             nActiveFaces_,
-            renumberedMeshPoints,
-            faces_,
-            faceOwner_,
-            faceNeighbour_,
-            patchSizes,
-            patchStarts,
+            xferMove<pointField>(renumberedMeshPoints),
+            xferMove<faceList>(faces_),
+            xferMove<labelList>(faceOwner_),
+            xferMove<labelList>(faceNeighbour_),
+            xferMove<labelList>(patchSizes),
+            xferMove<labelList>(patchStarts),
             syncParallel
         );
 
@@ -3005,12 +3005,12 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh
         mesh.resetPrimitives
         (
             nActiveFaces_,
-            newPoints,
-            faces_,
-            faceOwner_,
-            faceNeighbour_,
-            patchSizes,
-            patchStarts,
+            xferMove<pointField>(newPoints),
+            xferMove<faceList>(faces_),
+            xferMove<labelList>(faceOwner_),
+            xferMove<labelList>(faceNeighbour_),
+            xferMove<labelList>(patchSizes),
+            xferMove<labelList>(patchStarts),
             syncParallel
         );
         // Invalidate new points to go into map.
@@ -3019,6 +3019,22 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh
         mesh.changing(true);
     }
 
+    // Clear out primitives
+    {
+        retiredPoints_.clear();
+        retiredPoints_.resize(0);
+
+        faces_.clear();
+        faces_.setSize(0);
+        region_.clear();
+        region_.setSize(0);
+        faceOwner_.clear();
+        faceOwner_.setSize(0);
+        faceNeighbour_.clear();
+        faceNeighbour_.setSize(0);
+    }
+
+
     if (debug)
     {
         // Some stats on changes
@@ -3055,21 +3071,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::changeMesh
         writeMeshStats(mesh, Pout);
     }
 
-    // Clear out primitives
-    {
-        retiredPoints_.clear();
-        retiredPoints_.resize(0);
-
-        faces_.clear();
-        faces_.setSize(0);
-        region_.clear();
-        region_.setSize(0);
-        faceOwner_.clear();
-        faceOwner_.setSize(0);
-        faceNeighbour_.clear();
-        faceNeighbour_.setSize(0);
-    }
-
 
     // Zones
     // ~~~~~
@@ -3250,14 +3251,30 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::makeMesh
         new fvMesh
         (
             io,
-            newPoints,
-            faces_,
-            faceOwner_,
-            faceNeighbour_
+            xferMove<pointField>(newPoints),
+            xferMove<faceList>(faces_),
+            xferMove<labelList>(faceOwner_),
+            xferMove<labelList>(faceNeighbour_)
         )
     );
     fvMesh& newMesh = newMeshPtr();
 
+    // Clear out primitives
+    {
+        newPoints.clear();
+        retiredPoints_.clear();
+        retiredPoints_.resize(0);
+        faces_.clear();
+        faces_.setSize(0);
+        region_.clear();
+        region_.setSize(0);
+        faceOwner_.clear();
+        faceOwner_.setSize(0);
+        faceNeighbour_.clear();
+        faceNeighbour_.setSize(0);
+    }
+
+
     if (debug)
     {
         // Some stats on changes
@@ -3289,22 +3306,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChange::makeMesh
     }
 
 
-    // Clear out primitives
-    {
-        newPoints.clear();
-        retiredPoints_.clear();
-        retiredPoints_.resize(0);
-        faces_.clear();
-        faces_.setSize(0);
-        region_.clear();
-        region_.setSize(0);
-        faceOwner_.clear();
-        faceOwner_.setSize(0);
-        faceNeighbour_.clear();
-        faceNeighbour_.setSize(0);
-    }
-
-
     {
         const polyBoundaryMesh& oldPatches = mesh.boundaryMesh();