diff --git a/applications/solvers/incompressible/pimpleFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/UEqn.H
index c274f6a2e8e59182c83e37bf308f30acb6946fd2..84a404654abc2741e3c1db12204b609b3ed63bc9 100644
--- a/applications/solvers/incompressible/pimpleFoam/UEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/UEqn.H
@@ -5,12 +5,10 @@ tmp<fvVectorMatrix> UEqn
     fvm::ddt(U)
   + fvm::div(phi, U)
   + turbulence->divDevReff(U)
+ ==
+    sources(U)
 );
 
-mrfZones.addCoriolis(UEqn());
-
-pZones.addResistance(UEqn());
-
 UEqn().relax();
 
 sources.constrain(UEqn());
@@ -19,5 +17,5 @@ volScalarField rAU(1.0/UEqn().A());
 
 if (pimple.momentumPredictor())
 {
-    solve(UEqn() == -fvc::grad(p) + sources(U));
+    solve(UEqn() == -fvc::grad(p));
 }
diff --git a/applications/solvers/incompressible/pimpleFoam/createZones.H b/applications/solvers/incompressible/pimpleFoam/createZones.H
deleted file mode 100644
index fcd02024d58b1b5be8e36f935e2ca70b4ba8bbaf..0000000000000000000000000000000000000000
--- a/applications/solvers/incompressible/pimpleFoam/createZones.H
+++ /dev/null
@@ -1,4 +0,0 @@
-    IOMRFZoneList mrfZones(mesh);
-    mrfZones.correctBoundaryVelocity(U);
-
-    IOporosityModelList pZones(mesh);
diff --git a/applications/solvers/incompressible/pimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pEqn.H
index 1eb8590552ba896d94634784fd98e9f857db731c..9fc62bd9f13163a24aff6e02ec7b1dcb804878b2 100644
--- a/applications/solvers/incompressible/pimpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/pimpleFoam/pEqn.H
@@ -1,5 +1,5 @@
 volVectorField HbyA("HbyA", U);
-HbyA = rAU*(UEqn() == sources(U))().H();
+HbyA = rAU*UEqn().H();
 
 if (pimple.nCorrPISO() <= 1)
 {
@@ -15,7 +15,7 @@ surfaceScalarField phiHbyA
 
 adjustPhi(phiHbyA, U, p);
 
-mrfZones.relativeFlux(phiHbyA);
+sources.relativeFlux(phiHbyA);
 
 // Non-orthogonal pressure corrector loop
 while (pimple.correctNonOrthogonal())
diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
index d55af57e34dc3a812ce8e157d76b0927fc67f634..8b0f240e4d6c75bc720a4a38ad7d0c74cc17e75a 100644
--- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
+++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C
@@ -30,8 +30,7 @@ Description
 
     Sub-models include:
     - turbulence modelling, i.e. laminar, RAS or LES
-    - porosity (explicit treatment)
-    - Multiple Reference Frame (MRF)
+    - run-time selectable sources, e.g. MRF, explicit porosity
 
 \*---------------------------------------------------------------------------*/
 
@@ -51,7 +50,6 @@ int main(int argc, char *argv[])
     #include "createTime.H"
     #include "createMesh.H"
     #include "createFields.H"
-    #include "createZones.H"
     #include "initContinuityErrs.H"
 
     pimpleControl pimple(mesh);