diff --git a/src/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C b/src/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
index 3414c2a40bbb0bdedb3aaf15f5962221d75cce37..4353ce35632950761e5916b4b419dac81ffcdc42 100644
--- a/src/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
+++ b/src/functionObjects/field/fieldValues/fieldValue/fieldValueTemplates.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2011-2016 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2015 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2015-2017 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -32,26 +32,28 @@ License
 template<class Type>
 void Foam::functionObjects::fieldValue::combineFields(Field<Type>& field)
 {
-    List<Field<Type>> allValues(Pstream::nProcs());
-
-    allValues[Pstream::myProcNo()] = field;
-
-    Pstream::gatherList(allValues);
-    Pstream::scatterList(allValues);
-
-    field =
-        ListListOps::combine<Field<Type>>
-        (
-            allValues,
-            accessOp<Field<Type>>()
-        );
+    if (Pstream::parRun())
+    {
+        List<Field<Type>> allValues(Pstream::nProcs());
+        allValues[Pstream::myProcNo()] = field;
+
+        Pstream::gatherList(allValues);
+        Pstream::scatterList(allValues);
+
+        field =
+            ListListOps::combine<Field<Type>>
+            (
+                allValues,
+                accessOp<Field<Type>>()
+            );
+    }
 }
 
 
 template<class Type>
 void Foam::functionObjects::fieldValue::combineFields(tmp<Field<Type>>& field)
 {
-    combineFields(field());
+    combineFields(field.ref());
 }