diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H
index e9567bf7e22df20fa444f3eb1096998eb4afd397..13cb589dfded3727ae1f5534d36642a148efce77 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/pU/pEqn.H
@@ -91,27 +91,9 @@ while (pimple.correct())
     // Update continuity errors due to temperature changes
     #include "correctContErrs.H"
 
-    // Correct flux BCs to be consistent with the velocity BCs
-    forAll(mesh.boundary(), patchi)
-    {
-        if (isA<fixedValueFvsPatchScalarField>(phi1.boundaryField()[patchi]))
-        {
-            phi1.boundaryField()[patchi] ==
-                mrfZones.relative
-                (
-                    mesh.Sf().boundaryField() & U1.boundaryField()
-                )()[patchi];
-        }
-
-        if (isA<fixedValueFvsPatchScalarField>(phi2.boundaryField()[patchi]))
-        {
-            phi2.boundaryField()[patchi] ==
-                mrfZones.relative
-                (
-                    mesh.Sf().boundaryField() & U2.boundaryField()
-                )()[patchi];
-        }
-    }
+    // Correct fixed-flux BCs to be consistent with the velocity BCs
+    mrfZones.correctBoundaryFlux(U1, phi1);
+    mrfZones.correctBoundaryFlux(U2, phi2);
 
     volVectorField HbyA1
     (
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H
index 5f5089131102a9c6ac928cd25b4e4eeaf8aff9cf..bb0b5f528fb3837210e02c26a90847d33b8caf23 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/pUf/pEqn.H
@@ -99,26 +99,8 @@ while (pimple.correct())
     surfaceScalarField rhof2(fvc::interpolate(rho2));
 
     // Correct fixed-flux BCs to be consistent with the velocity BCs
-    forAll(mesh.boundary(), patchi)
-    {
-        if (isA<fixedValueFvsPatchScalarField>(phi1.boundaryField()[patchi]))
-        {
-            phi1.boundaryField()[patchi] ==
-                mrfZones.relative
-                (
-                    mesh.Sf().boundaryField() & U1.boundaryField()
-                )()[patchi];
-        }
-
-        if (isA<fixedValueFvsPatchScalarField>(phi2.boundaryField()[patchi]))
-        {
-            phi2.boundaryField()[patchi] ==
-                mrfZones.relative
-                (
-                    mesh.Sf().boundaryField() & U2.boundaryField()
-                )()[patchi];
-        }
-    }
+    mrfZones.correctBoundaryFlux(U1, phi1);
+    mrfZones.correctBoundaryFlux(U2, phi2);
 
     surfaceScalarField alpharAUf1
     (
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
index 4b45ed3fdc433ccc20e70d6fede9ae763deb5b27..c1973f3df75e0971a3e566af0e2a5d5ab66b928d 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.C
@@ -526,7 +526,6 @@ void Foam::MRFZone::correctBoundaryVelocity(volVectorField& U) const
 {
     const vector Omega = this->Omega();
 
-
     // Included patches
     forAll(includedFaces_, patchi)
     {
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
index 43b1f8653c8e911dcb6630ee96ff395a7c3e8d6b..d6a41fcf9d7cae09e2c568b3abda6215cf101978 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
@@ -246,7 +246,7 @@ public:
                 surfaceScalarField& phi
             ) const;
 
-            //- Correct the boundary velocity for the roation of the MRF region
+            //- Correct the boundary velocity for the rotation of the MRF region
             void correctBoundaryVelocity(volVectorField& U) const;
 
 
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C
index a9197ce5a5c221bb884b89325da8cf14f0bf49d2..b14524a67657b418191209edce7479c2f71094a5 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.C
@@ -25,6 +25,7 @@ License
 
 #include "MRFZoneList.H"
 #include "volFields.H"
+#include "fixedValueFvsPatchFields.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -310,6 +311,30 @@ void Foam::MRFZoneList::correctBoundaryVelocity(volVectorField& U) const
 }
 
 
+void Foam::MRFZoneList::correctBoundaryFlux
+(
+    const volVectorField& U,
+    surfaceScalarField& phi
+) const
+{
+    FieldField<fvsPatchField, scalar> phibf
+    (
+        relative(mesh_.Sf().boundaryField() & U.boundaryField())
+    );
+
+    forAll(mesh_.boundary(), patchi)
+    {
+        if
+        (
+            isA<fixedValueFvsPatchScalarField>(phi.boundaryField()[patchi])
+        )
+        {
+            phi.boundaryField()[patchi] == phibf[patchi];
+        }
+    }
+}
+
+
 // * * * * * * * * * * * * * * * IOstream Operators  * * * * * * * * * * * * //
 
 Foam::Ostream& Foam::operator<<
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H
index 52d992d1ce6a26c2918aaa2c8665aa317db4b7cc..6f33035585c2733fcb94dc3a4c112e67bb627e0c 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZoneList.H
@@ -160,9 +160,16 @@ public:
             surfaceScalarField& phi
         ) const;
 
-        //- Correct the boundary velocity for the roation of the MRF region
+        //- Correct the boundary velocity for the rotation of the MRF region
         void correctBoundaryVelocity(volVectorField& U) const;
 
+        //- Correct the boundary flux for the rotation of the MRF region
+        void correctBoundaryFlux
+        (
+            const volVectorField& U,
+            surfaceScalarField& phi
+        ) const;
+
 
         // I-O