diff --git a/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C b/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C
index 6e4f009be2acf66110eee9df211aee24a18a51f6..ef8fe01b834f3f91245fbff81d611f52fda89157 100644
--- a/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C
+++ b/applications/utilities/postProcessing/miscellaneous/writeCellCentres/writeCellCentres.C
@@ -98,6 +98,7 @@ int main(int argc, char *argv[])
             cci.write();
         }
 
+
         volScalarField V
         (
             IOobject
@@ -110,10 +111,19 @@ int main(int argc, char *argv[])
                 false
             ),
             mesh,
-
+            dimensionedScalar("V", mesh.V().dimensions(), 0.0),
+            calculatedFvPatchField<scalar>::typeName
         );
-        mesh.V().setInstance(runTime.timeName());
-        mesh.V().write();
+        V.dimensionedInternalField() = mesh.V();
+        forAll(V.boundaryField(), patchI)
+        {
+            V.boundaryField()[patchI] =
+                V.boundaryField()[patchI].patch().magSf();
+        }
+        Info<< "Writing cellVolumes and patch faceAreas to " << V.name()
+            << " in " << runTime.timeName() << endl;
+        V.write();
+
     }
 
     Info<< "\nEnd\n" << endl;