diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index 17abbc6363..6e19f299f0 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -308,6 +308,7 @@ $(ddtSchemes)/backwardDdtScheme/backwardDdtSchemes.C
$(ddtSchemes)/boundedBackwardDdtScheme/boundedBackwardDdtScheme.C
$(ddtSchemes)/boundedBackwardDdtScheme/boundedBackwardDdtSchemes.C
$(ddtSchemes)/CrankNicholsonDdtScheme/CrankNicholsonDdtSchemes.C
+$(ddtSchemes)/boundedDdtScheme/boundedDdtSchemes.C
d2dt2Schemes = finiteVolume/d2dt2Schemes
$(d2dt2Schemes)/d2dt2Scheme/d2dt2Schemes.C
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.C
new file mode 100644
index 0000000000..a89629f6db
--- /dev/null
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.C
@@ -0,0 +1,170 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "boundedDdtScheme.H"
+#include "fvcDiv.H"
+#include "fvcDdt.H"
+#include "fvMatrices.H"
+#include "fvmSup.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace fv
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+template
+tmp >
+boundedDdtScheme::fvcDdt
+(
+ const dimensioned& dt
+)
+{
+ return scheme_().fvcDdt(dt);
+}
+
+
+template
+tmp >
+boundedDdtScheme::fvcDdt
+(
+ const GeometricField& vf
+)
+{
+ return scheme_().fvcDdt(vf);
+}
+
+
+template
+tmp >
+boundedDdtScheme::fvcDdt
+(
+ const dimensionedScalar& rho,
+ const GeometricField& vf
+)
+{
+ return scheme_().fvcDdt(rho, vf);
+}
+
+
+template
+tmp >
+boundedDdtScheme::fvcDdt
+(
+ const volScalarField& rho,
+ const GeometricField& vf
+)
+{
+ return scheme_().fvcDdt(rho, vf) - fvc::ddt(rho)*vf;
+}
+
+
+template
+tmp >
+boundedDdtScheme::fvmDdt
+(
+ const GeometricField& vf
+)
+{
+ return scheme_().fvmDdt(vf);
+}
+
+
+template
+tmp >
+boundedDdtScheme::fvmDdt
+(
+ const dimensionedScalar& rho,
+ const GeometricField& vf
+)
+{
+ return scheme_().fvmDdt(rho, vf);
+}
+
+
+template
+tmp >
+boundedDdtScheme::fvmDdt
+(
+ const volScalarField& rho,
+ const GeometricField& vf
+)
+{
+ return scheme_().fvmDdt(rho, vf) - fvm::Sp(fvc::ddt(rho), vf);
+}
+
+
+template
+tmp::fluxFieldType>
+boundedDdtScheme::fvcDdtPhiCorr
+(
+ const volScalarField& rA,
+ const GeometricField& U,
+ const fluxFieldType& phi
+)
+{
+ return scheme_().fvcDdtPhiCorr(rA, U, phi);
+}
+
+
+template
+tmp::fluxFieldType>
+boundedDdtScheme::fvcDdtPhiCorr
+(
+ const volScalarField& rA,
+ const volScalarField& rho,
+ const GeometricField& U,
+ const fluxFieldType& phi
+)
+{
+ return scheme_().fvcDdtPhiCorr(rA, rho, U, phi);
+}
+
+
+template
+tmp boundedDdtScheme::meshPhi
+(
+ const GeometricField& vf
+)
+{
+ return scheme_().meshPhi(vf);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace fv
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.H
new file mode 100644
index 0000000000..0e5e0831f9
--- /dev/null
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtScheme.H
@@ -0,0 +1,207 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Class
+ Foam::fv::boundedDdtScheme
+
+Description
+ Bounded form of the selected ddt scheme.
+
+ Boundedness is achieved by subtracting ddt(phi)*vf or Sp(ddt(rho), vf)
+ which is non-conservative if ddt(rho) != 0 but conservative otherwise.
+
+ Can be used for the ddt of bounded scalar properties to improve stability
+ if insufficient convergence of the pressure equation causes temporary
+ divergence of the flux field.
+
+SourceFiles
+ boundedDdtScheme.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef boundedDdtScheme_H
+#define boundedDdtScheme_H
+
+#include "ddtScheme.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace fv
+{
+
+/*---------------------------------------------------------------------------*\
+ Class boundedDdtScheme Declaration
+\*---------------------------------------------------------------------------*/
+
+template
+class boundedDdtScheme
+:
+ public fv::ddtScheme
+{
+ // Private data
+
+ tmp > scheme_;
+
+
+ // Private Member Functions
+
+ //- Disallow default bitwise copy construct
+ boundedDdtScheme(const boundedDdtScheme&);
+
+ //- Disallow default bitwise assignment
+ void operator=(const boundedDdtScheme&);
+
+
+public:
+
+ //- Runtime type information
+ TypeName("bounded");
+
+
+ // Constructors
+
+ //- Construct from mesh and Istream
+ boundedDdtScheme(const fvMesh& mesh, Istream& is)
+ :
+ ddtScheme(mesh, is),
+ scheme_
+ (
+ fv::ddtScheme::New(mesh, is)
+ )
+ {}
+
+
+ // Member Functions
+
+ //- Return mesh reference
+ const fvMesh& mesh() const
+ {
+ return fv::ddtScheme::mesh();
+ }
+
+ tmp > fvcDdt
+ (
+ const dimensioned&
+ );
+
+ tmp > fvcDdt
+ (
+ const GeometricField&
+ );
+
+ tmp > fvcDdt
+ (
+ const dimensionedScalar&,
+ const GeometricField&
+ );
+
+ tmp > fvcDdt
+ (
+ const volScalarField&,
+ const GeometricField&
+ );
+
+ tmp > fvmDdt
+ (
+ const GeometricField&
+ );
+
+ tmp > fvmDdt
+ (
+ const dimensionedScalar&,
+ const GeometricField&
+ );
+
+ tmp > fvmDdt
+ (
+ const volScalarField&,
+ const GeometricField&
+ );
+
+ typedef typename ddtScheme::fluxFieldType fluxFieldType;
+
+ tmp fvcDdtPhiCorr
+ (
+ const volScalarField& rA,
+ const GeometricField& U,
+ const fluxFieldType& phi
+ );
+
+ tmp fvcDdtPhiCorr
+ (
+ const volScalarField& rA,
+ const volScalarField& rho,
+ const GeometricField& U,
+ const fluxFieldType& phi
+ );
+
+ tmp meshPhi
+ (
+ const GeometricField&
+ );
+};
+
+
+template<>
+tmp boundedDdtScheme::fvcDdtPhiCorr
+(
+ const volScalarField& rA,
+ const volScalarField& U,
+ const surfaceScalarField& phi
+);
+
+
+template<>
+tmp boundedDdtScheme::fvcDdtPhiCorr
+(
+ const volScalarField& rA,
+ const volScalarField& rho,
+ const volScalarField& U,
+ const surfaceScalarField& phi
+);
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace fv
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#ifdef NoRepository
+# include "boundedDdtScheme.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtSchemes.C b/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtSchemes.C
new file mode 100644
index 0000000000..8971a237e5
--- /dev/null
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/boundedDdtScheme/boundedDdtSchemes.C
@@ -0,0 +1,39 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "boundedDdtScheme.H"
+#include "fvMesh.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace fv
+{
+ makeFvDdtScheme(boundedDdtScheme)
+}
+}
+
+// ************************************************************************* //