diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C
index a43a8e934cdf974ce56a44c2113f882fe4603a4a..1cbff3f0f46778aad4dc6c8a8307d4300dcc0059 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.C
@@ -128,17 +128,6 @@ tmp<fvsPatchField<Type> > fvsPatchField<Type>::NewCalculatedType
 }
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-// Write
-template<class Type>
-void calculatedFvsPatchField<Type>::write(Ostream& os) const
-{
-    fvsPatchField<Type>::write(os);
-    this->writeEntry("value", os);
-}
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H
index 2fc126b1141cbd6c6895fd7125aa10486eb9342e..c5a2dd5d73e6a865e54cec579494eaaf031a32c3 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/calculated/calculatedFvsPatchField.H
@@ -130,10 +130,6 @@ public:
             {
                 return true;
             }
-
-
-        //- Write
-        virtual void write(Ostream&) const;
 };
 
 
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C
index 5c6ad21b6da7f751db031b0d6797a923a10d3192..7ee66d7f3b340eef0f61e72f4ff4e345d76aec4a 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.C
@@ -101,16 +101,6 @@ coupledFvsPatchField<Type>::coupledFvsPatchField
 {}
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class Type>
-void coupledFvsPatchField<Type>::write(Ostream& os) const
-{
-    fvsPatchField<Type>::write(os);
-    this->writeEntry("value", os);
-}
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H
index b35ae72cb06dec704e8c4331eb040bca847a1a81..f0dc4bfe1dc006eacc821752b48b896f3248728d 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/coupled/coupledFvsPatchField.H
@@ -126,10 +126,6 @@ public:
             {
                 return true;
             }
-
-
-        //- Write
-        virtual void write(Ostream&) const;
 };
 
 
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C
index 98011d7a49118af7e39e65f434ed60b83a4e9694..8d2c4ce52c47e3b331bc9ec527d25a5918004097 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.C
@@ -128,14 +128,6 @@ tmp<Field<Type> > fixedValueFvsPatchField<Type>::gradientBoundaryCoeffs() const
 }
 
 
-template<class Type>
-void fixedValueFvsPatchField<Type>::write(Ostream& os) const
-{
-    fvsPatchField<Type>::write(os);
-    this->writeEntry("value", os);
-}
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H
index 31a3655d20cec78689ea74c8cc41ec9ff60b45f4..691201ce49c5f9f63a29d12b7cdb176c4e7f174c 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H
@@ -158,10 +158,6 @@ public:
             virtual tmp<Field<Type> > gradientBoundaryCoeffs() const;
 
 
-        //- Write
-        virtual void write(Ostream&) const;
-
-
     // Member operators
 
         virtual void operator=(const UList<Type>&) {}
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C
index 83663319ef79231a63f8d1f55fedc8ca5c3c2b24..32dfb59d3c7ad1669dd1ac731ae09929206c010c 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.C
@@ -159,16 +159,6 @@ slicedFvsPatchField<Type>::~slicedFvsPatchField<Type>()
 }
 
 
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class Type>
-void slicedFvsPatchField<Type>::write(Ostream& os) const
-{
-    fvsPatchField<Type>::write(os);
-    this->writeEntry("value", os);
-}
-
-
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H
index 76e6c4e87aec740a7465229103e6f997002f4225..b32c9c0d531f7f824ddd9d8cbe625a870c91ee31 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H
@@ -136,10 +136,6 @@ public:
             }
 
 
-        //- Write
-        virtual void write(Ostream&) const;
-
-
     // Member operators
 
         virtual void operator=(const UList<Type>&) {}
diff --git a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C
index 01849b8f1b0150c83f81cbfefb71cdefda3dd0ed..4d0b4a08a7ddac4b9bc375923178dda164945735 100644
--- a/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/constraint/cyclic/cyclicFvsPatchField.C
@@ -94,7 +94,7 @@ cyclicFvsPatchField<Type>::cyclicFvsPatchField
             "cyclicFvsPatchField<Type>::cyclicFvsPatchField\n"
             "(\n"
             "    const fvPatch& p,\n"
-            "    const Field<Type>& field,\n"
+            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
             "    const dictionary& dict\n"
             ")\n",
             dict
diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C
index 55c5e6b33dee4b843b246e70fe565c1c66c9e2f7..36d459271eca8dee5e42c43a9e5e086e54c52f0b 100644
--- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C
+++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.C
@@ -98,7 +98,17 @@ fvsPatchField<Type>::fvsPatchField
     }
     else
     {
-        fvsPatchField<Type>::operator=(pTraits<Type>::zero);
+        FatalIOErrorIn
+        (
+            "fvsPatchField<Type>::fvsPatchField\n"
+            "(\n"
+            "    const fvPatch& p,\n"
+            "    const DimensionedField<Type, surfaceMesh>& iF,\n"
+            "    const dictionary& dict\n"
+            ")\n",
+            dict
+        )   << "essential value entry not provided"
+            << exit(FatalIOError);
     }
 }
 
@@ -177,6 +187,7 @@ template<class Type>
 void fvsPatchField<Type>::write(Ostream& os) const
 {
     os.writeKeyword("type") << type() << token::END_STATEMENT << nl;
+    this->writeEntry("value", os);
 }