diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C
index 0ca41e54a0f62c6d74227e34bef84f725b900998..62cbccb60155b57145a14a6693d4b355746b7a8b 100644
--- a/src/OpenFOAM/fields/Fields/Field/Field.C
+++ b/src/OpenFOAM/fields/Fields/Field/Field.C
@@ -57,6 +57,13 @@ Foam::Field<Type>::Field(const label size, const Type& t)
 {}
 
 
+template<class Type>
+Foam::Field<Type>::Field(const label size, const zero)
+:
+    List<Type>(size, pTraits<Type>::zero)
+{}
+
+
 template<class Type>
 Foam::Field<Type>::Field
 (
diff --git a/src/OpenFOAM/fields/Fields/Field/Field.H b/src/OpenFOAM/fields/Fields/Field/Field.H
index 6f08f05926215ef3b957912b67071d32e6817997..8e66a9883738597e31e20d13f9f55be83b1ab6d3 100644
--- a/src/OpenFOAM/fields/Fields/Field/Field.H
+++ b/src/OpenFOAM/fields/Fields/Field/Field.H
@@ -117,6 +117,9 @@ public:
         //- Construct given size and initial value
         Field(const label, const Type&);
 
+        //- Construct given size and initialed to zero
+        Field(const label, const zero);
+
         //- Construct as copy of a UList\<Type\>
         explicit Field(const UList<Type>&);