diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
index 0f4b7756f66329707c17be75498b413b66c32dd0..ea031c676901170cbaa20139c8f701c2b42c3b4a 100644
--- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
+++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C
@@ -136,7 +136,6 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correctNut()
 template<class BasicEddyViscosityModel>
 Foam::tmp<Foam::volScalarField> kOmegaSSTBase<BasicEddyViscosityModel>::S2
 (
-    const volScalarField& F1,
     const volTensorField& gradU
 ) const
 {
@@ -169,8 +168,7 @@ template<class BasicEddyViscosityModel>
 tmp<volScalarField::Internal> kOmegaSSTBase<BasicEddyViscosityModel>::GbyNu0
 (
     const volTensorField& gradU,
-    const volScalarField& F1,
-    const volScalarField& S2
+    const volScalarField& /* S2 not used */
 ) const
 {
     return tmp<volScalarField::Internal>::New
@@ -521,6 +519,14 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
         fvc::div(fvc::absolute(this->phi(), U))
     );
 
+    tmp<volTensorField> tgradU = fvc::grad(U);
+    const volScalarField S2(this->S2(tgradU()));
+    volScalarField::Internal GbyNu0(this->GbyNu0(tgradU(), S2));
+    volScalarField::Internal G(this->GName(), nut*GbyNu0);
+
+    // Update omega and G at the wall
+    omega_.boundaryFieldRef().updateCoeffs();
+
     const volScalarField CDkOmega
     (
         (2*alphaOmega2_)*(fvc::grad(k_) & fvc::grad(omega_))/omega_
@@ -529,14 +535,6 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct()
     const volScalarField F1(this->F1(CDkOmega));
     const volScalarField F23(this->F23());
 
-    tmp<volTensorField> tgradU = fvc::grad(U);
-    const volScalarField S2(this->S2(F1, tgradU()));
-    volScalarField::Internal GbyNu0(this->GbyNu0(tgradU(), F1, S2));
-    volScalarField::Internal G(this->GName(), nut*GbyNu0);
-
-    // Update omega and G at the wall
-    omega_.boundaryFieldRef().updateCoeffs();
-
     {
         const volScalarField::Internal gamma(this->gamma(F1));
         const volScalarField::Internal beta(this->beta(F1));
diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H
index 96b333ea736afd114f5e088f12c40b5a8e6c18a6..05d32cffe551d6cafd8bf678581b65e4fd52ebff 100644
--- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H
+++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H
@@ -263,7 +263,6 @@ protected:
         //- Return square of strain rate
         virtual tmp<volScalarField> S2
         (
-            const volScalarField& F1,
             const volTensorField& gradU
         ) const;
 
@@ -284,7 +283,6 @@ protected:
         virtual tmp<volScalarField::Internal> GbyNu0
         (
             const volTensorField& gradU,
-            const volScalarField& F1,
             const volScalarField& S2
         ) const;
 
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C
index 6645e1728815147ea55b1b1bc035b51a3685090e..333d3f2f098a0a4bfeb6dc0bce7821bdd77e21ce 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C
@@ -53,16 +53,26 @@ tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::fd
 template<class BasicTurbulenceModel>
 tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::S2
 (
-    const volScalarField& F1,
     const volTensorField& gradU
 ) const
 {
     tmp<volScalarField> tS2 =
-        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(F1, gradU);
+        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(gradU);
 
     if (this->useSigma_)
     {
         volScalarField& S2 = tS2.ref();
+
+        const volScalarField& k = this->k_;
+        const volScalarField& omega = this->omega_;
+
+        const volScalarField CDkOmega
+        (
+            (2*this->alphaOmega2_)*(fvc::grad(k) & fvc::grad(omega))/omega
+        );
+
+        const volScalarField F1(this->F1(CDkOmega));
+
         const volScalarField CDES(this->CDES(F1));
         const volScalarField Ssigma(this->Ssigma(gradU));
 
@@ -98,7 +108,6 @@ template<class BasicTurbulenceModel>
 tmp<volScalarField::Internal> kOmegaSSTDDES<BasicTurbulenceModel>::GbyNu0
 (
     const volTensorField& gradU,
-    const volScalarField& F1,
     const volScalarField& S2
 ) const
 {
@@ -108,7 +117,7 @@ tmp<volScalarField::Internal> kOmegaSSTDDES<BasicTurbulenceModel>::GbyNu0
     }
 
     return
-        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, F1, S2);
+        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, S2);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H
index 4b4f41b40e8fa16435f21d8d8669899bbdb8a73e..08943a3651c89726d4b7edc30855ec6356e89e5a 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H
@@ -97,7 +97,6 @@ protected:
         //- Return square of strain rate
         virtual tmp<volScalarField> S2
         (
-            const volScalarField& F1,
             const volTensorField& gradU
         ) const;
 
@@ -112,7 +111,6 @@ protected:
         virtual tmp<volScalarField::Internal> GbyNu0
         (
             const volTensorField& gradU,
-            const volScalarField& F1,
             const volScalarField& S2
         ) const;
 
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C
index bf3d8b1f4e8aa0e9df60af87f938b53f19f4e324..7811de5b59dedc77fe3d96b24b3443000fceecca 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C
@@ -77,16 +77,26 @@ tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::r
 template<class BasicTurbulenceModel>
 tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::S2
 (
-    const volScalarField& F1,
     const volTensorField& gradU
 ) const
 {
     tmp<volScalarField> tS2 =
-        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(F1, gradU);
+        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(gradU);
 
     if (this->useSigma_)
     {
         volScalarField& S2 = tS2.ref();
+
+        const volScalarField& k = this->k_;
+        const volScalarField& omega = this->omega_;
+
+        const volScalarField CDkOmega
+        (
+            (2*this->alphaOmega2_)*(fvc::grad(k) & fvc::grad(omega))/omega
+        );
+
+        const volScalarField F1(this->F1(CDkOmega));
+
         const volScalarField CDES(this->CDES(F1));
         const volScalarField dTilda(this->dTilda(mag(gradU), CDES));
         const volScalarField lengthScaleRAS(this->lengthScaleRAS());
@@ -128,7 +138,6 @@ template<class BasicTurbulenceModel>
 tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu0
 (
     const volTensorField& gradU,
-    const volScalarField& F1,
     const volScalarField& S2
 ) const
 {
@@ -138,7 +147,7 @@ tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu0
     }
 
     return
-        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, F1, S2);
+        kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, S2);
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H
index dfdf077c5b9a07260e75616ff6625c7ac7a657bd..e9afbd15091826db72194c6755d28652ac87d1fe 100644
--- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H
+++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H
@@ -118,7 +118,6 @@ protected:
         //- Return square of strain rate
         virtual tmp<volScalarField> S2
         (
-            const volScalarField& F1,
             const volTensorField& gradU
         ) const;
 
@@ -140,7 +139,6 @@ protected:
         virtual tmp<volScalarField::Internal> GbyNu0
         (
             const volTensorField& gradU,
-            const volScalarField& F1,
             const volScalarField& S2
         ) const;