diff --git a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
index 92219b9879f0bd5d21b5a3b52217051dea48ee41..37ca5e82a48b82b15ac95fb1e72c0ac32e62f40f 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
@@ -25,9 +25,13 @@
     );
 
     EEqn.relax();
+
     sources.constrain(EEqn);
+
     EEqn.solve();
 
+    sources.correct(he);
+
     thermo.correct();
     radiation->correct();
 
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
index fe7b047d9a24e41d4baa7f54324f75e3cc08f160..3dee99c1c7731e3f375d6394b8e2942f2ed43a92 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
@@ -17,5 +17,7 @@
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
index f07208909c9f0fca775d3c5d9cd8db66ee5d885b..a5c39e84736ca4e883c88dd1f98a53ee7ccae863 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
@@ -39,6 +39,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
 
             YiEqn.solve(mesh.solver("Yi"));
 
+            sources.correct(Yi);
+
             Yi.max(0.0);
             Yt += Yi;
         }
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
index c8e8193eb2c7c8eb95c248b472f37c194d14ef25..5c37255fefda07355b4b68bf93f8ca8eecf52090 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,6 +42,8 @@ Description
     sources.constrain(rhoEqn);
 
     rhoEqn.solve();
+
+    sources.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
index 2c327a1099ab82a4a1e5b6791a913a8c142292df..4abcdcf4414326767ed2525d60abfecbac1c02ba 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
@@ -25,9 +25,13 @@
     );
 
     EEqn.relax();
+
     sources.constrain(EEqn);
+
     EEqn.solve();
 
+    sources.correct(he);
+
     thermo.correct();
     radiation->correct();
 
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
index 5884abe0c1f3f416c5db964fcf1e35055434cad8..81d90bd695e912277c83e1744a9814f5b8cca7ec 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
@@ -26,5 +26,7 @@
                 )*mesh.magSf()
             )
         );
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
index e05dcdef6ab53038c91a52cf06c6ca2e0335ae4b..615342c436419383bccbc1513093c756b7c32e83 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
@@ -40,6 +40,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
 
             YEqn.solve(mesh.solver("Yi"));
 
+            sources.correct(Yi);
+
             Yi.max(0.0);
             Yt += Yi;
         }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
index 282acfe91eee30d8bef14ed85a2468fec1bb7c2a..5cc780abb1d02bd1621841aa52186429eb140d6f 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
@@ -30,7 +30,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 {
-    solve
+    fvScalarMatrix rhoEqn
     (
         fvm::ddt(rho)
       + fvc::div(phi)
@@ -39,6 +39,12 @@ Description
       + surfaceFilm.Srho()
       + sources(rho)
     );
+
+    sources.constrain(rhoEqn);
+
+    rhoEqn.solve();
+
+    sources.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
index c8ef9bf84e3b51d6c1b8d1fe1e706184e34220ac..57456fe791ccbbeba99d488fbeb27aed4dba949b 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
@@ -24,9 +24,13 @@
     );
 
     EEqn.relax();
+
     sources.constrain(EEqn);
+
     EEqn.solve();
 
+    sources.correct(he);
+
     thermo.correct();
     radiation->correct();
 
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
index 612e582c54270b7b888f4b402ec2d5f47c43ffb0..421da48ab02e540e2a142b29969705cb2694e8c1 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
@@ -19,5 +19,7 @@
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
index a22267d9be2706d4bcc01fc2562436e41b567c64..b7e40dcc59f616b40e4a9b18dbe5c5d280995ba1 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
@@ -38,6 +38,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
 
             YEqn.solve(mesh.solver("Yi"));
 
+            sources.correct(Yi);
+
             Yi.max(0.0);
             Yt += Yi;
         }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
index f142f620bee4ebacc444681d4b529776a408780f..6ad34d56c7e082a4733f0dfd91a53ec0fd5e9abc 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
@@ -43,6 +43,8 @@ Description
 
     rhoEqn.solve();
 
+    sources.correct(rho);
+
     Info<< "rho min/max = " << min(rho).value() << ", " << max(rho).value()
         << endl;
 }
diff --git a/applications/solvers/lagrangian/sprayFoam/UEqn.H b/applications/solvers/lagrangian/sprayFoam/UEqn.H
index 3723f7f79db5b06860fbd9405b20d4dcce5624b9..11d4b27ef8e137f9ed31df7d740588a450dcc739 100644
--- a/applications/solvers/lagrangian/sprayFoam/UEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/UEqn.H
@@ -16,5 +16,7 @@
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/sprayFoam/rhoEqn.H b/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
index b6293f2c1f08f8da4c8e2711158c5034147da285..ecda54ee8337cac84c1f3c3b56226cfcc4ebc26c 100644
--- a/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
@@ -42,6 +42,8 @@ Description
     sources.constrain(rhoEqn);
 
     rhoEqn.solve();
+
+    sources.correct(rho);
 }
 
 // ************************************************************************* //