diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
index 9eaee356513f63592161c7899e8b0d5ceec4a3bb..0f603eb81f9840ecc57f39fc24f3c7f0060345d9 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
@@ -107,19 +107,25 @@ tmp<volScalarField> kOmegaSST<BasicTurbulenceModel>::kOmegaSST::F23() const
 }
 
 
-// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
-
 template<class BasicTurbulenceModel>
-void kOmegaSST<BasicTurbulenceModel>::correctNut()
+void kOmegaSST<BasicTurbulenceModel>::correctNut(const volScalarField& S2)
 {
-    this->nut_ =
-        a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_))));
+    this->nut_ = a1_*k_/max(a1_*omega_, b1_*F23()*sqrt(S2));
     this->nut_.correctBoundaryConditions();
 
     BasicTurbulenceModel::correctNut();
 }
 
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+void kOmegaSST<BasicTurbulenceModel>::correctNut()
+{
+    correctNut(2*magSqr(symm(fvc::grad(this->U_))));
+}
+
+
 template<class BasicTurbulenceModel>
 tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::kSource() const
 {
@@ -181,7 +187,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
         (
             "alphaK1",
             this->coeffDict_,
-            0.85034
+            0.85
         )
     ),
     alphaK2_
@@ -208,16 +214,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
         (
             "alphaOmega2",
             this->coeffDict_,
-            0.85616
-        )
-    ),
-    Prt_
-    (
-        dimensioned<scalar>::lookupOrAddToDict
-        (
-            "Prt",
-            this->coeffDict_,
-            1.0
+            0.856
         )
     ),
     gamma1_
@@ -226,7 +223,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
         (
             "gamma1",
             this->coeffDict_,
-            0.5532
+            5.0/9.0
         )
     ),
     gamma2_
@@ -235,7 +232,7 @@ kOmegaSST<BasicTurbulenceModel>::kOmegaSST
         (
             "gamma2",
             this->coeffDict_,
-            0.4403
+            0.44
         )
     ),
     beta1_
@@ -351,11 +348,11 @@ bool kOmegaSST<BasicTurbulenceModel>::read()
         alphaK2_.readIfPresent(this->coeffDict());
         alphaOmega1_.readIfPresent(this->coeffDict());
         alphaOmega2_.readIfPresent(this->coeffDict());
+        gamma1_.readIfPresent(this->coeffDict());
+        gamma2_.readIfPresent(this->coeffDict());
         beta1_.readIfPresent(this->coeffDict());
         beta2_.readIfPresent(this->coeffDict());
         betaStar_.readIfPresent(this->coeffDict());
-        gamma1_.readIfPresent(this->coeffDict());
-        gamma2_.readIfPresent(this->coeffDict());
         a1_.readIfPresent(this->coeffDict());
         b1_.readIfPresent(this->coeffDict());
         c1_.readIfPresent(this->coeffDict());
@@ -413,7 +410,12 @@ void kOmegaSST<BasicTurbulenceModel>::correct()
       + fvm::div(alphaRhoPhi, omega_)
       - fvm::laplacian(alpha*rho*DomegaEff(F1), omega_)
      ==
-        alpha*rhoGammaF1*GbyNu
+        alpha*rhoGammaF1
+       *min
+        (
+            GbyNu,
+            (c1_/a1_)*betaStar_*omega_*max(a1_*omega_, b1_*F23()*sqrt(S2))
+        )
       - fvm::SuSp((2.0/3.0)*alpha*rhoGammaF1*divU, omega_)
       - fvm::Sp(alpha*rho*beta(F1)*omega_, omega_)
       - fvm::SuSp
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H
index c70413d1dcafbfba95803904edfdf28771addf0a..b711d496869709b31d6d8b86344e58daf3c6c72f 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H
@@ -36,14 +36,23 @@ Description
         Menter, F. R. & Esch, T. (2001).
         Elements of Industrial Heat Transfer Prediction.
         16th Brazilian Congress of Mechanical Engineering (COBEM).
+    \endverbatim
 
+    with updated coefficients from
+    \verbatim
         Menter, F. R., Kuntz, M., and Langtry, R. (2003).
         Ten Years of Industrial Experience with the SST Turbulence Model.
         Turbulence, Heat and Mass Transfer 4, ed: K. Hanjalic, Y. Nagano,
         & M. Tummers, Begell House, Inc., 625 - 632.
     \endverbatim
 
-    with the addition of the optional F3 term for rough walls from
+    but with the consistent production terms from the 2001 paper as form in the
+    2003 paper is a typo, see
+    \verbatim
+        http://turbmodels.larc.nasa.gov/sst.html
+    \endverbatim
+
+    and the addition of the optional F3 term for rough walls from
     \verbatim
         Hellsten, A. (1998).
         "Some Improvements in Menter’s k-omega-SST turbulence model"
@@ -70,16 +79,15 @@ Description
     \verbatim
         kOmegaSSTCoeffs
         {
-            alphaK1     0.85034;
+            alphaK1     0.85;
             alphaK2     1.0;
             alphaOmega1 0.5;
-            alphaOmega2 0.85616;
-            Prt         1.0;    // only for compressible
+            alphaOmega2 0.856;
             beta1       0.075;
             beta2       0.0828;
             betaStar    0.09;
-            gamma1      0.5532;
-            gamma2      0.4403;
+            gamma1      5/9;
+            gamma2      0.44;
             a1          0.31;
             b1          1.0;
             c1          10.0;
@@ -161,13 +169,6 @@ protected:
             volScalarField omega_;
 
 
-    // Protected Member Functions
-
-        virtual void correctNut();
-        virtual tmp<fvScalarMatrix> kSource() const;
-        virtual tmp<fvScalarMatrix> omegaSource() const;
-
-
     // Private Member Functions
 
         tmp<volScalarField> F1(const volScalarField& CDkOmega) const;
@@ -205,6 +206,15 @@ protected:
             return blend(F1, gamma1_, gamma2_);
         }
 
+        void correctNut(const volScalarField& S2);
+
+
+    // Protected Member Functions
+
+        virtual void correctNut();
+        virtual tmp<fvScalarMatrix> kSource() const;
+        virtual tmp<fvScalarMatrix> omegaSource() const;
+
 
 public: