diff --git a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C
index a6dbee759f072549ab4483e9cbc3fe9e48114fb1..fc73f457e8134d2cea169a230753710743901121 100644
--- a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C
+++ b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C
@@ -28,7 +28,7 @@ License
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
 template<class BasicTurbulenceModel>
-void Foam::eddyDiffusivity<BasicTurbulenceModel>::correctAlphat()
+void Foam::eddyDiffusivity<BasicTurbulenceModel>::correctNut()
 {
     alphat_ = this->rho_*this->nut()/Prt_;
     alphat_.correctBoundaryConditions();
@@ -135,12 +135,4 @@ bool Foam::eddyDiffusivity<BasicTurbulenceModel>::read()
 }
 
 
-template<class BasicTurbulenceModel>
-void Foam::eddyDiffusivity<BasicTurbulenceModel>::correct()
-{
-    BasicTurbulenceModel::correct();
-    correctAlphat();
-}
-
-
 // ************************************************************************* //
diff --git a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H
index 18d5c98281b1fafebc71dbe6d7e232445f65414c..0913da84649c6ecbe0491ca71a77fb9df5b65482 100644
--- a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H
+++ b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H
@@ -68,7 +68,7 @@ protected:
 
     // Protected Member Functions
 
-        virtual void correctAlphat();
+        virtual void correctNut();
 
 
 public:
@@ -157,9 +157,6 @@ public:
         {
             return this->transport_.alphaEff(alphat(patchi), patchi);
         }
-
-        //- Correct the turbulent thermal diffusivity for enthalpy
-        virtual void correct();
 };
 
 
diff --git a/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H b/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H
index b3d25a8fbde002f4a550761596b2ad5a050a501c..251bfd179f15054d12a56024f50959aff55efd64 100644
--- a/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H
+++ b/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,6 +61,11 @@ protected:
 
         geometricOneField rho_;
 
+        //- ***HGW Temporary function to be removed when the run-time selectable
+        //  thermal transport layer is complete
+        virtual void correctNut()
+        {}
+
 
 private:
 
diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes
deleted file mode 100644
index 51cb377b02b22b3a5e544744e1e0f8efdb9e736c..0000000000000000000000000000000000000000
--- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes
+++ /dev/null
@@ -1,144 +0,0 @@
-turbulenceModelName -> propertiesName
-modelName -> type
-
-* Header
-*** Includes
-    - Remove
-    #include "RASModel.H"
-    + Add
-    #include "turbulentTransportModel.H"
-    #include "eddyViscosity.H"
-*** Base class
-    - Change
-    RASModel -> eddyViscosity<RASModel>
-*** Protected data
-    - Remove
-    volScalarField nut_;
-*** Constructor
-    + Add
-            const geometricOneField& alpha,
-            const geometricOneField& rho,
-            .
-            const surfaceScalarField& alphaRhoPhi,
-
-*** Private member functions
-    + Add
-    // Protected Member Functions
-
-        virtual void correctNut();
-
-*** Member functions
-    - Remove
-        //- Return the turbulence viscosity
-        virtual tmp<volScalarField> nut() const
-        {
-            return nut_;
-        }
-
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-    + Move to top
-        //- Read RASProperties dictionary
-        virtual bool read();
-
-* Source
-*** Includes
-    + Add
-      #include "bound.H"
-    - Remove
-      #include "backwardsCompatibilityWallFunctions.H"
-*** Constructor
-    + Add arguments
-            const geometricOneField& alpha,
-            const geometricOneField& rho,
-            .
-            const surfaceScalarField& alphaRhoPhi,
-    + Replace
-    RASModel(modelName, U, phi, transport, turbulenceModelName),
-      with
-    eddyViscosity<RASModel>
-    (
-        type,
-        alpha,
-        rho,
-        U,
-        alphaRhoPhi,
-        phi,
-        transport,
-        propertiesName
-    ),
-    + Replace
-    autoCreate.*mesh_) -> mesh_
-    NO_READ -> MUST_READ
-    - Remove
-    nut_
-    (
-        IOobject
-        (
-            "nut",
-            runTime_.timeName(),
-            mesh_,
-            IOobject::NO_READ,
-            IOobject::AUTO_WRITE
-        ),
-        autoCreateNut("nut", mesh_)
-    )
-    + Replace
-    nut_ = k_/omega_;
-    nut_.correctBoundaryConditions();
-
-    printCoeffs();
-
-    with
-
-    if (type == typeName)
-    {
-        correctNut();
-        printCoeffs(type);
-    }
-*** Member functions
-    + Move read to top
-    + Add after read
-void kOmega::correctNut()
-{
-    ....
-    nut_.correctBoundaryConditions();
-}
-    - Remove
-        //- Return the Reynolds stress tensor
-        virtual tmp<volSymmTensorField> R() const;
-
-        //- Return the effective stress tensor including the laminar stress
-        virtual tmp<volSymmTensorField> devReff() const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
-
-        //- Return the source term for the momentum equation
-        virtual tmp<fvVectorMatrix> divDevRhoReff
-        (
-            const volScalarField& rho,
-            volVectorField& U
-        ) const;
-
-*** correct()
-    - Replace
-    // Re-calculate viscosity
-    nut_ = Cmu_*sqr(k_)/epsilon_;
-    nut_.correctBoundaryConditions();
-    with
-    correctNut();
diff --git a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
index 499bbd4da39f04785b93cb300a7ca3d7a46fdcdf..31526fbf0c1e2752ee5e6e2102ae0a5cd5403f34 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C
@@ -39,6 +39,8 @@ void DeardorffDiffStress<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = Ck_*sqrt(this->k())*this->delta();
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
index 6d3696ccc1ec9853a7e9b274a73f4d03324b54f5..c3549fdd8851d9351808a55ec0a45dd752859dd7 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C
@@ -69,6 +69,8 @@ void Smagorinsky<BasicTurbulenceModel>::correctNut()
 
     this->nut_ = Ck_*this->delta()*sqrt(k);
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
index f0a8c60ac10953de4c4139289a5be2919a2c8a66..53e22dd3847db4e6af8499c0a8d49aa7253387ec 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C
@@ -170,6 +170,8 @@ void SpalartAllmarasDES<BasicTurbulenceModel>::correctNut
 {
     this->nut_ = nuTilda_*fv1;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
index 40cf764d975db2d95f22fd800f72d83e16fd9a4a..674c889b1c4c543c94ae4b67d4a08518cdf53a37 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C
@@ -89,6 +89,8 @@ void WALE<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = Ck_*this->delta()*sqrt(this->k(fvc::grad(this->U_)));
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
index e73aaae168f7d6713def93c933267d71fd0d652c..38a1a989341312ce7b8e0a61cfc485ab571a07e5 100644
--- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
+++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011-2014 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2015 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -32,6 +32,33 @@ namespace Foam
 namespace LESModels
 {
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+void kEqn<BasicTurbulenceModel>::correctNut()
+{
+    this->nut_ = Ck_*sqrt(k_)*this->delta();
+    this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> kEqn<BasicTurbulenceModel>::kSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            k_,
+            dimVolume*this->rho_.dimensions()*k_.dimensions()
+            /dimTime
+        )
+    );
+}
+
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 template<class BasicTurbulenceModel>
@@ -129,29 +156,6 @@ tmp<volScalarField> kEqn<BasicTurbulenceModel>::epsilon() const
 }
 
 
-template<class BasicTurbulenceModel>
-void kEqn<BasicTurbulenceModel>::correctNut()
-{
-    this->nut_ = Ck_*sqrt(k_)*this->delta();
-    this->nut_.correctBoundaryConditions();
-}
-
-
-template<class BasicTurbulenceModel>
-tmp<fvScalarMatrix> kEqn<BasicTurbulenceModel>::kSource() const
-{
-    return tmp<fvScalarMatrix>
-    (
-        new fvScalarMatrix
-        (
-            k_,
-            dimVolume*this->rho_.dimensions()*k_.dimensions()
-            /dimTime
-        )
-    );
-}
-
-
 template<class BasicTurbulenceModel>
 void kEqn<BasicTurbulenceModel>::correct()
 {
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
index a51c7c971d7a759eba3a58f2c7f6f61e1249df67..98e11cf880a5f2d87347f37d72f0436b1d23a96c 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C
@@ -39,6 +39,8 @@ void LRR<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = this->Cmu_*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
index 61addc591d8178002fd71f0f93bfbbaf44098719..fbd7b71b6e17b378fc5a339276cad309737f0528 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C
@@ -56,6 +56,8 @@ void LaunderSharmaKE<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = Cmu_*fMu()*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
index 563d33ebfb9de700eeb6f3d35e196d2998299967..55ba1e000436b2c2cea27350586d363b364d7d9e 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C
@@ -40,6 +40,8 @@ void RNGkEpsilon<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = Cmu_*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
index c07e677155f09633d1e4195b03e37c9e5ff73b79..520accaed58f3345a2c5edd2759bfe924175acfb 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C
@@ -124,6 +124,8 @@ void SpalartAllmaras<BasicTurbulenceModel>::correctNut
 {
     this->nut_ = nuTilda_*fv1;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
index 1543385ffce815027d6771b3a846b3553c8c1c70..15b538cf93bcca73340736aff5286dba6b05ebe4 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C
@@ -40,6 +40,8 @@ void kEpsilon<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = Cmu_*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
@@ -133,7 +135,7 @@ kEpsilon<BasicTurbulenceModel>::kEpsilon
         (
             "C3",
             this->coeffDict_,
-            0
+            -0.33
         )
     ),
     sigmak_
@@ -185,8 +187,8 @@ kEpsilon<BasicTurbulenceModel>::kEpsilon
 
     if (type == typeName)
     {
-        correctNut();
         this->printCoeffs(type);
+        correctNut();
     }
 }
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
index 6acfbbe6489d569a8f7aea2c62b389d0de284418..1c3babf681e439b5f6c0f5bb3c96fd2d32b2bfb7 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C
@@ -106,6 +106,46 @@ tmp<volScalarField> kOmegaSST<BasicTurbulenceModel>::kOmegaSST::F23() const
 }
 
 
+// * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
+
+template<class BasicTurbulenceModel>
+void kOmegaSST<BasicTurbulenceModel>::correctNut()
+{
+    this->nut_ =
+        a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_))));
+    this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::kSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            k_,
+            dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime
+        )
+    );
+}
+
+
+template<class BasicTurbulenceModel>
+tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::omegaSource() const
+{
+    return tmp<fvScalarMatrix>
+    (
+        new fvScalarMatrix
+        (
+            omega_,
+            dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime
+        )
+    );
+}
+
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
@@ -335,43 +375,6 @@ bool kOmegaSST<BasicTurbulenceModel>::read()
 }
 
 
-template<class BasicTurbulenceModel>
-void kOmegaSST<BasicTurbulenceModel>::correctNut()
-{
-    this->nut_ =
-        a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_))));
-    this->nut_.correctBoundaryConditions();
-}
-
-
-template<class BasicTurbulenceModel>
-tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::kSource() const
-{
-    return tmp<fvScalarMatrix>
-    (
-        new fvScalarMatrix
-        (
-            k_,
-            dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime
-        )
-    );
-}
-
-
-template<class BasicTurbulenceModel>
-tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::omegaSource() const
-{
-    return tmp<fvScalarMatrix>
-    (
-        new fvScalarMatrix
-        (
-            omega_,
-            dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime
-        )
-    );
-}
-
-
 template<class BasicTurbulenceModel>
 void kOmegaSST<BasicTurbulenceModel>::correct()
 {
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
index 397847bbf6330155a8d8d04ced4cdcbab33a32dc..597d21f1ebbddf98e7db23b3d975a6797e3beced 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C
@@ -78,6 +78,8 @@ void realizableKE<BasicTurbulenceModel>::correctNut
 {
     this->nut_ = rCmu(gradU, S2, magS)*sqr(k_)/epsilon_;
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }
 
 
diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
index a281ef4fa515d20d7c5827ef03de553ef8726794..6e2ee1b4ed05782315ec33cf33da953a8cd62327 100644
--- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
+++ b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C
@@ -25,8 +25,6 @@ License
 
 #include "v2f.H"
 #include "bound.H"
-#include "fixedValueFvPatchField.H"
-#include "zeroGradientFvPatchField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -58,6 +56,8 @@ void v2f<BasicTurbulenceModel>::correctNut()
 {
     this->nut_ = min(CmuKEps_*sqr(k_)/epsilon_, this->Cmu_*v2_*Ts());
     this->nut_.correctBoundaryConditions();
+
+    BasicTurbulenceModel::correctNut();
 }