diff --git a/etc/controlDict b/etc/controlDict
index 704374a5fa7e6a4e17c230bc53d1c6067e96646f..bc752817634410cca1632b447dae24010ac2ecbf 100644
--- a/etc/controlDict
+++ b/etc/controlDict
@@ -129,6 +129,11 @@ OptimisationSwitches
 
     //- Choose STL ASCII parser:  0=Flex, 1=Ragel, 2=Manual
     fileFormats::stl 0;
+
+    //- Use the updated ddt correction formulation introduced by openfoam org
+    //  in commit da787200.  Default is to use the formulation from v1712
+    //  see ddtScheme.C
+    experimentalDdtCorr 0;
 }
 
 
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
index d659e26e812626b615b1566d4107c377bff56344..013ff96908f09d9daa7f961592bf03898f3c18d7 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C
@@ -353,7 +353,7 @@ tmp<surfaceScalarField> ddtScheme<Type>::fvcDdtPhiCoeff
 template<class Type>
 tmp<surfaceScalarField> ddtScheme<Type>::fvcDdtPhiCoeff
 (
-    const GeometricField<Type, fvPatchField, volMesh>& U,
+    const GeometricField<Type, fvPatchField, volMesh>& rhoU,
     const fluxFieldType& phi,
     const volScalarField& rho
 )
@@ -362,9 +362,9 @@ tmp<surfaceScalarField> ddtScheme<Type>::fvcDdtPhiCoeff
     {
         return fvcDdtPhiCoeffExperimental
         (
-            U,
+            rhoU,
             phi,
-            (phi - fvc::dotInterpolate(mesh().Sf(), rho*U))
+            (phi - fvc::dotInterpolate(mesh().Sf(), rhoU))
            /fvc::interpolate(rho)
         );
     }
@@ -372,9 +372,9 @@ tmp<surfaceScalarField> ddtScheme<Type>::fvcDdtPhiCoeff
     {
         return fvcDdtPhiCoeff
         (
-            U,
+            rhoU,
             phi,
-            (phi - fvc::dotInterpolate(mesh().Sf(), rho*U))
+            (phi - fvc::dotInterpolate(mesh().Sf(), rhoU))
         );
     }
 }
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H
index 635145a5bcedc8b46707effb36078b111a3d436c..8a8d660605339fe66bdef49795b9725b0518f1fd 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H
@@ -257,7 +257,7 @@ public:
 
         tmp<surfaceScalarField> fvcDdtPhiCoeff
         (
-            const GeometricField<Type, fvPatchField, volMesh>& U,
+            const GeometricField<Type, fvPatchField, volMesh>& rhoU,
             const fluxFieldType& phi,
             const volScalarField& rho
         );
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtSchemeBase.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtSchemeBase.C
index 8dac32555edc59d98a7ac9d9a5b2f83ec1e34375..7b0fb8fc066486af8d9acc610ba81118d0abbdf7 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtSchemeBase.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtSchemeBase.C
@@ -31,10 +31,10 @@ License
 
 bool Foam::fv::ddtSchemeBase::experimentalDdtCorr
 (
-    Foam::debug::infoSwitch("experimentalDdtCorr", 0)
+    Foam::debug::optimisationSwitch("experimentalDdtCorr", 0)
 );
 
-registerInfoSwitch
+registerOptSwitch
 (
     "experimentalDdtCorr",
     bool,