diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
index 719393b252b4779edb29e66f1167b8e17e99dd38..77bcb857376e8b7abb3026ff3b03f5dc9d3d6205 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2009-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2009-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -72,32 +72,32 @@ Type Foam::fieldValues::cellSource::processValues
     {
         case opSum:
         {
-            result = sum(values);
+            result = gSum(values);
             break;
         }
         case opVolAverage:
         {
-            result = sum(values*V)/sum(V);
+            result = gSum(values*V)/gSum(V);
             break;
         }
         case opVolIntegrate:
         {
-            result = sum(values*V);
+            result = gSum(values*V);
             break;
         }
         case opWeightedAverage:
         {
-            result = sum(values*weightField)/sum(weightField);
+            result = gSum(values*weightField)/gSum(weightField);
             break;
         }
         case opMin:
         {
-            result = min(values);
+            result = gMin(values);
             break;
         }
         case opMax:
         {
-            result = max(values);
+            result = gMax(values);
             break;
         }
         default:
@@ -128,10 +128,10 @@ bool Foam::fieldValues::cellSource::writeValues(const word& fieldName)
             combineFields(setFieldValues<scalar>(weightFieldName_))
         );
 
+        Type result = processValues(values, V, weightField);
+
         if (Pstream::master())
         {
-            Type result = processValues(values, V, weightField);
-
             if (valueOutput_)
             {
                 IOField<Type>
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
index a084b0766b5d7ddc74fe59a3d9a5373e6cd0f96f..34ad992c0c8ae60e2c672fc9beab4170ddbb4ee9 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
@@ -158,11 +158,10 @@ bool Foam::fieldValues::faceSource::writeValues(const word& fieldName)
         magSf = combineFields(magSf);
         weightField = combineFields(weightField);
 
+        Type result = processValues(values, magSf, weightField);
 
         if (Pstream::master())
         {
-            Type result = processValues(values, magSf, weightField);
-
             if (valueOutput_)
             {
                 IOField<Type>