diff --git a/applications/solvers/multiphase/compressibleInterDyMFoam/pEqn.H b/applications/solvers/multiphase/compressibleInterDyMFoam/pEqn.H
index 013d8eb05f7e341ee0c8bf9fc5f1511e8d9c6dc6..b0f3378408fb76da41887cee0724a55e77afea11 100644
--- a/applications/solvers/multiphase/compressibleInterDyMFoam/pEqn.H
+++ b/applications/solvers/multiphase/compressibleInterDyMFoam/pEqn.H
@@ -21,7 +21,7 @@
     surfaceScalarField phiU
     (
         "phiU",
-        (fvc::interpolate(U) & mesh.Sf()) + fvc::ddtPhiCorr(rUA, rho, U, phi)
+        (fvc::interpolate(U) & mesh.Sf())
     );
 
     phi = phiU +
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C
index aad79a3bcfdbb0ae5fa27e1dca92bb54cb466dda..d5f3ef05f294d64459539bf79cb151f22bef5dbc 100644
--- a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C
+++ b/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C
@@ -352,6 +352,96 @@ Foam::genericFvPatchField<Type>::genericFvPatchField
                             << exit(FatalIOError);
                     }
                 }
+                else if
+                (
+                    firstToken.isWord()
+                 && firstToken.wordToken() == "uniform"
+                )
+                {
+                    token fieldToken(is);
+
+                    if (!fieldToken.isPunctuation())
+                    {
+                        scalarFields_.insert
+                        (
+                            iter().keyword(),
+                            new scalarField
+                            (
+                                this->size(),
+                                fieldToken.scalarToken()
+                            )
+                        );
+                    }
+                    else
+                    {
+                        // Read as scalarList.
+                        is.putBack(fieldToken);
+
+                        scalarList l(is);
+
+                        if (l.size() == vector::nComponents)
+                        {
+                            vector vs(l[0], l[1], l[2]);
+
+                            vectorFields_.insert
+                            (
+                                iter().keyword(),
+                                new vectorField(this->size(), vs)
+                            );
+                        }
+                        else if (l.size() == sphericalTensor::nComponents)
+                        {
+                            sphericalTensor vs(l[0]);
+
+                            sphericalTensorFields_.insert
+                            (
+                                iter().keyword(),
+                                new sphericalTensorField(this->size(), vs)
+                            );
+                        }
+                        else if (l.size() == symmTensor::nComponents)
+                        {
+                            symmTensor vs(l[0], l[1], l[2], l[3], l[4], l[5]);
+
+                            symmTensorFields_.insert
+                            (
+                                iter().keyword(),
+                                new symmTensorField(this->size(), vs)
+                            );
+                        }
+                        else if (l.size() == tensor::nComponents)
+                        {
+                            tensor vs
+                            (
+                                l[0], l[1], l[2],
+                                l[3], l[4], l[5],
+                                l[6], l[7], l[8]
+                            );
+
+                            tensorFields_.insert
+                            (
+                                iter().keyword(),
+                                new tensorField(this->size(), vs)
+                            );
+                        }
+                        else
+                        {
+                            FatalIOErrorIn
+                            (
+                                "genericFvPatchField<Type>::genericFvPatchField"
+                                "(const fvPatch&, const Field<Type>&, "
+                                "const dictionary&)",
+                                dict
+                            )   << "\n    unrecognised native type " << l
+                                << "\n    on patch " << this->patch().name()
+                                << " of field "
+                                << this->dimensionedInternalField().name()
+                                << " in file "
+                                << this->dimensionedInternalField().objectPath()
+                                << exit(FatalIOError);
+                        }
+                    }
+                }
             }
         }
     }
@@ -557,7 +647,7 @@ void Foam::genericFvPatchField<Type>::rmap
         HashPtrTable<scalarField>::const_iterator dptfIter =
             dptf.scalarFields_.find(iter.key());
 
-        if (dptfIter != scalarFields_.end())
+        if (dptfIter != dptf.scalarFields_.end())
         {
             iter()->rmap(*dptfIter(), addr);
         }
@@ -573,7 +663,7 @@ void Foam::genericFvPatchField<Type>::rmap
         HashPtrTable<vectorField>::const_iterator dptfIter =
             dptf.vectorFields_.find(iter.key());
 
-        if (dptfIter != vectorFields_.end())
+        if (dptfIter != dptf.vectorFields_.end())
         {
             iter()->rmap(*dptfIter(), addr);
         }
@@ -590,7 +680,7 @@ void Foam::genericFvPatchField<Type>::rmap
         HashPtrTable<sphericalTensorField>::const_iterator dptfIter =
             dptf.sphericalTensorFields_.find(iter.key());
 
-        if (dptfIter != sphericalTensorFields_.end())
+        if (dptfIter != dptf.sphericalTensorFields_.end())
         {
             iter()->rmap(*dptfIter(), addr);
         }
@@ -607,7 +697,7 @@ void Foam::genericFvPatchField<Type>::rmap
         HashPtrTable<symmTensorField>::const_iterator dptfIter =
             dptf.symmTensorFields_.find(iter.key());
 
-        if (dptfIter != symmTensorFields_.end())
+        if (dptfIter != dptf.symmTensorFields_.end())
         {
             iter()->rmap(*dptfIter(), addr);
         }
@@ -623,7 +713,7 @@ void Foam::genericFvPatchField<Type>::rmap
         HashPtrTable<tensorField>::const_iterator dptfIter =
             dptf.tensorFields_.find(iter.key());
 
-        if (dptfIter != tensorFields_.end())
+        if (dptfIter != dptf.tensorFields_.end())
         {
             iter()->rmap(*dptfIter(), addr);
         }