diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C
index b3cdad013e61c74f57e3b800bbe0f9c341bbc1a3..024f4396661b89408ea96f4f97b2305f2183a59f 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C
@@ -66,10 +66,9 @@ void Foam::FacePostProcessing<CloudType>::write()
     const label procI = Pstream::myProcNo();
 
     scalarListList allProcMass(Pstream::nProcs());
-    allProcMass[procI].setSize(massTotal_.size());
     allProcMass[procI] = massTotal_;
     Pstream::gatherList(allProcMass);
-    scalarList allMass
+    scalarField allMass
     (
         ListListOps::combine<scalarList>
         (
@@ -78,10 +77,9 @@ void Foam::FacePostProcessing<CloudType>::write()
     );
 
     scalarListList allProcMassFlux(Pstream::nProcs());
-    allProcMassFlux[procI].setSize(massFlux_.size());
     allProcMassFlux[procI] = massFlux_;
     Pstream::gatherList(allProcMassFlux);
-    scalarList allMassFlux
+    scalarField allMassFlux
     (
         ListListOps::combine<scalarList>
         (
@@ -109,16 +107,8 @@ void Foam::FacePostProcessing<CloudType>::write()
 
         pointField uniquePoints(mesh.points(), uniqueMeshPointLabels);
         List<pointField> allProcPoints(Pstream::nProcs());
-        allProcPoints[procI].setSize(uniquePoints.size());
         allProcPoints[procI] = uniquePoints;
         Pstream::gatherList(allProcPoints);
-        pointField allPoints
-        (
-            ListListOps::combine<pointField>
-            (
-                allProcPoints, accessOp<pointField>()
-            )
-        );
 
         faceList faces(fZone_().localFaces());
         forAll(faces, i)
@@ -126,20 +116,27 @@ void Foam::FacePostProcessing<CloudType>::write()
             inplaceRenumber(pointToGlobal, faces[i]);
         }
         List<faceList> allProcFaces(Pstream::nProcs());
-        allProcFaces[procI].setSize(faces.size());
         allProcFaces[procI] = faces;
         Pstream::gatherList(allProcFaces);
-        faceList allFaces
-        (
-            ListListOps::combine<faceList>
-            (
-                allProcFaces, accessOp<faceList>()
-            )
-        );
-
 
         if (Pstream::master())
         {
+            pointField allPoints
+            (
+                ListListOps::combine<pointField>
+                (
+                    allProcPoints, accessOp<pointField>()
+                )
+            );
+
+            faceList allFaces
+            (
+                ListListOps::combine<faceList>
+                (
+                    allProcFaces, accessOp<faceList>()
+                )
+            );
+
             fileName outputDir = mesh.time().path();
 
             if (Pstream::parRun())
@@ -165,7 +162,7 @@ void Foam::FacePostProcessing<CloudType>::write()
                 allPoints,
                 allFaces,
                 "massTotal",
-                massTotal_,
+                allMass,
                 false
             );
             writer->write
@@ -175,7 +172,7 @@ void Foam::FacePostProcessing<CloudType>::write()
                 allPoints,
                 allFaces,
                 "massFlux",
-                massFlux_,
+                allMassFlux,
                 false
             );
         }