diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H
index f4707dacc7f7a3622a52255e008e731be7347d48..da4fee802eec7ae6db3552266d9487ed205c39a7 100644
--- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H
+++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H
@@ -45,13 +45,6 @@ scalar pRefValue = 0.0;
 setRefCell(p, pimple.dict(), pRefCell, pRefValue);
 mesh.setFluxRequired(p.name());
 
-singlePhaseTransportModel laminarTransport(Urel, phi);
-
-autoPtr<incompressible::turbulenceModel> turbulence
-(
-    incompressible::turbulenceModel::New(Urel, phi, laminarTransport)
-);
-
 Info<< "Creating SRF model\n" << endl;
 autoPtr<SRF::SRFModel> SRF
 (
@@ -71,3 +64,10 @@ volVectorField U
     ),
     Urel + SRF->U()
 );
+
+singlePhaseTransportModel laminarTransport(U, phi);
+
+autoPtr<incompressible::turbulenceModel> turbulence
+(
+    incompressible::turbulenceModel::New(U, phi, laminarTransport)
+);
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index e52a6d93871fa6e8bd36de5fcc49b5121374131d..97617bd925f979b50bc3bd93c30ec9fc36cb1fe1 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -65,26 +65,12 @@ int main(int argc, char *argv[])
             #include "pEqn.H"
         }
 
+        U = Urel + SRF->U();
+
         laminarTransport.correct();
         turbulence->correct();
 
-        if (runTime.outputTime())
-        {
-            volVectorField Uabs
-            (
-                IOobject
-                (
-                    "Uabs",
-                    runTime.timeName(),
-                    mesh,
-                    IOobject::NO_READ,
-                    IOobject::AUTO_WRITE
-                ),
-                Urel + SRF->U()
-            );
-
-            runTime.write();
-        }
+        runTime.write();
 
         Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
             << "  ClockTime = " << runTime.elapsedClockTime() << " s"
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
index d7096ed087f0fd6cef6a6b875d619e711017f518..9d9fb484fcc0e124d3cfb552ddf0be814f819ef7 100644
--- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
@@ -45,12 +45,26 @@ scalar pRefValue = 0.0;
 setRefCell(p, simple.dict(), pRefCell, pRefValue);
 mesh.setFluxRequired(p.name());
 
-singlePhaseTransportModel laminarTransport(Urel, phi);
+Info<< "Creating SRF model\n" << endl;
+autoPtr<SRF::SRFModel> SRF(SRF::SRFModel::New(Urel));
 
-autoPtr<incompressible::RASModel> turbulence
+// Construct the absolute velocity
+volVectorField U
 (
-    incompressible::RASModel::New(Urel, phi, laminarTransport)
+    IOobject
+    (
+        "U",
+        runTime.timeName(),
+        mesh,
+        IOobject::NO_READ,
+        IOobject::AUTO_WRITE
+    ),
+    Urel + SRF->U()
 );
 
-Info<< "Creating SRF model\n" << endl;
-autoPtr<SRF::SRFModel> SRF(SRF::SRFModel::New(Urel));
+singlePhaseTransportModel laminarTransport(U, phi);
+
+autoPtr<incompressible::RASModel> turbulence
+(
+    incompressible::RASModel::New(U, phi, laminarTransport)
+);