diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
index 129b6b39abe2ad8ea0d1f657d4686ce676972c19..2f0369ae3e888bc9ea72e62a42702e471f66c2d4 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -160,12 +160,12 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate<CloudType>::calculate
     dMassSRCarrier[O2GlobalId_] -= dmO2;
     dMassSRCarrier[CO2GlobalId_] += dmCO2;
 
-    const scalar HC = thermo.solids().properties()[CsLocalId_].H(T);
-    const scalar HCO2 = thermo.carrier().H(CO2GlobalId_, T);
-    const scalar HO2 = thermo.carrier().H(O2GlobalId_, T);
+    const scalar HsC = thermo.solids().properties()[CsLocalId_].Hs(T);
 
     // Heat of reaction [J]
-    return dmC*HC + dmO2*HO2 - dmCO2*HCO2;
+    // Sensible enthalpy contributions due to O2 depletion and CO2 generation
+    // handled by particle transfer terms
+    return dmC*HsC - dmCO2*HcCO2_;
 }
 
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
index d7282e88b9e20348a8751e48c58e5dc5a43081c1..88930ed390a2be18f03836496ff852243828f6f8 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -36,12 +36,8 @@ COxidationKineticDiffusionLimitedRate
     CloudType& owner
 )
 :
-    SurfaceReactionModel<CloudType>
-    (
-        dict,
-        owner,
-        typeName
-    ),
+    SurfaceReactionModel<CloudType>(dict, owner, typeName),
+    Sb_(readScalar(this->coeffDict().lookup("Sb"))),
     C1_(readScalar(this->coeffDict().lookup("C1"))),
     C2_(readScalar(this->coeffDict().lookup("C2"))),
     E_(readScalar(this->coeffDict().lookup("E"))),
@@ -76,6 +72,7 @@ COxidationKineticDiffusionLimitedRate
 )
 :
     SurfaceReactionModel<CloudType>(srm),
+    Sb_(srm.Sb_),
     C1_(srm.C1_),
     C2_(srm.C2_),
     E_(srm.E_),
@@ -83,7 +80,8 @@ COxidationKineticDiffusionLimitedRate
     O2GlobalId_(srm.O2GlobalId_),
     CO2GlobalId_(srm.CO2GlobalId_),
     WC_(srm.WC_),
-    WO2_(srm.WO2_)
+    WO2_(srm.WO2_),
+    HcCO2_(srm.HcCO2_)
 {}
 
 
@@ -153,10 +151,10 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
     const scalar dOmega = dmC/WC_;
 
     // Change in O2 mass [kg]
-    const scalar dmO2 = dOmega*WO2_;
+    const scalar dmO2 = dOmega*Sb_*WO2_;
 
     // Mass of newly created CO2 [kg]
-    const scalar dmCO2 = dOmega*(WC_ + WO2_);
+    const scalar dmCO2 = dOmega*(WC_ + Sb_*WO2_);
 
     // Update local particle C mass
     dMassSolid[CsLocalId_] += dOmega*WC_;
@@ -165,12 +163,12 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
     dMassSRCarrier[O2GlobalId_] -= dmO2;
     dMassSRCarrier[CO2GlobalId_] += dmCO2;
 
-    const scalar HC = thermo.solids().properties()[CsLocalId_].H(T);
-    const scalar HCO2 = thermo.carrier().H(CO2GlobalId_, T);
-    const scalar HO2 = thermo.carrier().H(O2GlobalId_, T);
+    const scalar HsC = thermo.solids().properties()[CsLocalId_].Hs(T);
 
     // Heat of reaction [J]
-    return dOmega*(WC_*HC + WO2_*HO2 - (WC_ + WO2_)*HCO2);
+    // Sensible enthalpy contributions due to O2 depletion and CO2 generation
+    // handled by particle transfer terms
+    return dmC*HsC - dmCO2*HcCO2_;
 }
 
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H
index dd7d6d0ab231b6821fe3a0e16aa9268f50fac250..4eb2797a1102cf0ce5b7ca23f67ba7c505e3e669 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -61,6 +61,9 @@ class COxidationKineticDiffusionLimitedRate
 
         // Model constants
 
+            //- Stoichiometry of reaction
+            const scalar Sb_;
+
             //- Mass diffusion limited rate constant, C1
             const scalar C1_;
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
index 3f8ef799441f23858a3a6e1ec2b45ca37b6ebc0b..16da1b3916ebc05569030a2fcbcb36a0599359c5 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -44,12 +44,7 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
     CloudType& owner
 )
 :
-    SurfaceReactionModel<CloudType>
-    (
-        dict,
-        owner,
-        typeName
-    ),
+    SurfaceReactionModel<CloudType>(dict, owner, typeName),
     D0_(readScalar(this->coeffDict().lookup("D0"))),
     rho0_(readScalar(this->coeffDict().lookup("rho0"))),
     T0_(readScalar(this->coeffDict().lookup("T0"))),
@@ -62,7 +57,8 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
     O2GlobalId_(owner.composition().globalCarrierId("O2")),
     CO2GlobalId_(owner.composition().globalCarrierId("CO2")),
     WC_(0.0),
-    WO2_(0.0)
+    WO2_(0.0),
+    HcCO2_(0.0)
 {
     // Determine Cs ids
     label idSolid = owner.composition().idSolid();
@@ -72,6 +68,7 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
     WO2_ = owner.thermo().carrier().W(O2GlobalId_);
     const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
     WC_ = WCO2 - WO2_;
+    HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
 
     const scalar YCloc = owner.composition().Y0(idSolid)[CsLocalId_];
     const scalar YSolidTot = owner.composition().YMixture0()[idSolid];
@@ -98,7 +95,8 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
     O2GlobalId_(srm.O2GlobalId_),
     CO2GlobalId_(srm.CO2GlobalId_),
     WC_(srm.WC_),
-    WO2_(srm.WO2_)
+    WO2_(srm.WO2_),
+    HcCO2_(srm.HcCO2_)
 {}
 
 
@@ -225,12 +223,12 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
     // Add to particle mass transfer
     dMassSolid[CsLocalId_] += dOmega*WC_;
 
-    const scalar HC = thermo.solids().properties()[CsLocalId_].H(T);
-    const scalar HCO2 = thermo.carrier().H(CO2GlobalId_, T);
-    const scalar HO2 = thermo.carrier().H(O2GlobalId_, T);
+    const scalar HsC = thermo.solids().properties()[CsLocalId_].Hs(T);
 
-    // Heat of reaction
-    return dOmega*(WC_*HC + WO2_*HO2 - (WC_ + WO2_)*HCO2);
+    // Heat of reaction [J]
+    // Sensible enthalpy contributions due to O2 depletion and CO2 generation
+    // handled by particle transfer terms
+    return dOmega*(WC_*HsC - (WC_ + WO2_)*HcCO2_);
 }
 
 
diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H
index 4d9f6b6f1fd8aaa68c25263d76d100ee0e996016..72e522e0140f6838084a36b168d7b5bec504e04a 100644
--- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H
+++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -115,6 +115,9 @@ class COxidationMurphyShaddix
             //- Molecular weight of O2 [kg/kmol]
             scalar WO2_;
 
+            //- Chemical enthalpy of CO2 [J/kg]
+            scalar HcCO2_;
+
 
 public:
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
index b0a7497211062a5e77c16c7c06fdb66c352b60dc..76a80c0493d640df40d4cecef36d1d5b65043f18 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -205,6 +205,9 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
     const label cellI
 )
 {
+    typedef typename ReactingParcel<ParcelType>::trackData::cloudType cloudType;
+    const CompositionModel<cloudType>& composition = td.cloud().composition();
+
     // Define local properties at beginning of timestep
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     const scalar np0 = this->nParticle_;
@@ -218,9 +221,9 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
     const scalar pc = this->pc_;
 
     const scalarField& YMix = this->Y_;
-    const label idG = td.cloud().composition().idGas();
-    const label idL = td.cloud().composition().idLiquid();
-    const label idS = td.cloud().composition().idSolid();
+    const label idG = composition.idGas();
+    const label idL = composition.idLiquid();
+    const label idS = composition.idSolid();
 
 
     // Calc surface values
@@ -262,7 +265,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
     scalar NCpW = 0.0;
 
     // Surface concentrations of emitted species
-    scalarField Cs(td.cloud().composition().carrier().species().size(), 0.0);
+    scalarField Cs(composition.carrier().species().size(), 0.0);
 
     // Calc mass and enthalpy transfer due to phase change
     this->calcPhaseChange
@@ -323,12 +326,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
     scalarField dMassSRGas(YGas_.size(), 0.0);
     scalarField dMassSRLiquid(YLiquid_.size(), 0.0);
     scalarField dMassSRSolid(YSolid_.size(), 0.0);
-    scalarField
-        dMassSRCarrier
-        (
-            td.cloud().composition().carrier().species().size(),
-            0.0
-        );
+    scalarField dMassSRCarrier(composition.carrier().species().size(), 0.0);
 
     // Clac mass and enthalpy transfer due to surface reactions
     calcSurfaceReactions
@@ -423,25 +421,33 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
         // Transfer mass lost from particle to carrier mass source
         forAll(YGas_, i)
         {
-            label gid = td.cloud().composition().localToGlobalCarrierId(GAS, i);
+            label gid = composition.localToGlobalCarrierId(GAS, i);
             td.cloud().rhoTrans(gid)[cellI] += np0*dMassGas[i];
+            td.cloud().hsTrans()[cellI] +=
+                np0*dMassGas[i]*composition.carrier().Hs(gid, T0);
         }
         forAll(YLiquid_, i)
         {
-            label gid = td.cloud().composition().localToGlobalCarrierId(LIQ, i);
+            label gid = composition.localToGlobalCarrierId(LIQ, i);
             td.cloud().rhoTrans(gid)[cellI] += np0*dMassLiquid[i];
+            td.cloud().hsTrans()[cellI] +=
+                np0*dMassLiquid[i]*composition.carrier().Hs(gid, T0);
         }
 /*
         // No mapping between solid components and carrier phase
         forAll(YSolid_, i)
         {
-            label gid = td.cloud().composition().localToGlobalCarrierId(SLD, i);
+            label gid = composition.localToGlobalCarrierId(SLD, i);
             td.cloud().rhoTrans(gid)[cellI] += np0*dMassSolid[i];
+            td.cloud().hsTrans()[cellI] +=
+                np0*dMassSolid[i]*composition.carrier().Hs(gid, T0);
         }
 */
         forAll(dMassSRCarrier, i)
         {
             td.cloud().rhoTrans(i)[cellI] += np0*dMassSRCarrier[i];
+            td.cloud().hsTrans()[cellI] +=
+                np0*dMassSRCarrier[i]*composition.carrier().Hs(i, T0);
         }
 
         // Update momentum transfer
@@ -470,14 +476,12 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
             // Absorb parcel into carrier phase
             forAll(YGas_, i)
             {
-                label gid =
-                    td.cloud().composition().localToGlobalCarrierId(GAS, i);
+                label gid = composition.localToGlobalCarrierId(GAS, i);
                 td.cloud().rhoTrans(gid)[cellI] += np0*mass1*YMix[GAS]*YGas_[i];
             }
             forAll(YLiquid_, i)
             {
-                label gid =
-                    td.cloud().composition().localToGlobalCarrierId(LIQ, i);
+                label gid = composition.localToGlobalCarrierId(LIQ, i);
                 td.cloud().rhoTrans(gid)[cellI] +=
                     np0*mass1*YMix[LIQ]*YLiquid_[i];
             }
@@ -485,8 +489,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
             // No mapping between solid components and carrier phase
             forAll(YSolid_, i)
             {
-                label gid =
-                    td.cloud().composition().localToGlobalCarrierId(SLD, i);
+                label gid = composition.localToGlobalCarrierId(SLD, i);
                 td.cloud().rhoTrans(gid)[cellI] +=
                     np0*mass1*YMix[SLD]*YSolid_[i];
             }
@@ -551,6 +554,9 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation
         return;
     }
 
+    typedef typename ReactingParcel<ParcelType>::trackData::cloudType cloudType;
+    const CompositionModel<cloudType>& composition = td.cloud().composition();
+
     // Total mass of volatiles evolved
     td.cloud().devolatilisation().calculate
     (
@@ -578,10 +584,9 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation
         // Note: hardcoded gaseous diffusivities for now
         // TODO: add to carrier thermo
         const scalar beta = sqr(cbrt(15.0) + cbrt(15.0));
-        const label id =
-            td.cloud().composition().localToGlobalCarrierId(GAS, i);
-        const scalar Cp = td.cloud().thermo().carrier().Cp(id, Ts);
-        const scalar W = td.cloud().thermo().carrier().W(id);
+        const label id = composition.localToGlobalCarrierId(GAS, i);
+        const scalar Cp = composition.carrier().Cp(id, Ts);
+        const scalar W = composition.carrier().W(id);
         const scalar Ni = dMassDV[i]/(this->areaS(d)*dt*W);
 
         // Dab calc'd using API vapour mass diffusivity function
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
index 926c7dcf94b8c4e87d1cd00716ab05c46eb2f801..74a931c16acfafbf5299672a6b11d2bbb3210865 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -236,6 +236,9 @@ void Foam::ReactingParcel<ParcelType>::calc
     const label cellI
 )
 {
+    typedef typename ReactingParcel<ParcelType>::trackData::cloudType cloudType;
+    const CompositionModel<cloudType>& composition = td.cloud().composition();
+
     // Define local properties at beginning of time step
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     const scalar np0 = this->nParticle_;
@@ -285,7 +288,7 @@ void Foam::ReactingParcel<ParcelType>::calc
     scalar NCpW = 0.0;
 
     // Surface concentrations of emitted species
-    scalarField Cs(td.cloud().composition().carrier().species().size(), 0.0);
+    scalarField Cs(composition.carrier().species().size(), 0.0);
 
     // Calc mass and enthalpy transfer due to phase change
     calcPhaseChange
@@ -372,8 +375,10 @@ void Foam::ReactingParcel<ParcelType>::calc
         // Transfer mass lost from particle to carrier mass source
         forAll(dMassPC, i)
         {
-            label gid = td.cloud().composition().localToGlobalCarrierId(0, i);
+            label gid = composition.localToGlobalCarrierId(0, i);
             td.cloud().rhoTrans(gid)[cellI] += np0*dMassPC[i];
+            td.cloud().hsTrans()[cellI] +=
+                np0*dMassPC[i]*composition.carrier().Hs(gid, T0);
         }
 
         // Update momentum transfer
@@ -401,13 +406,12 @@ void Foam::ReactingParcel<ParcelType>::calc
             // Absorb parcel into carrier phase
             forAll(Y_, i)
             {
-                label gid =
-                    td.cloud().composition().localToGlobalCarrierId(0, i);
+                label gid = composition.localToGlobalCarrierId(0, i);
                 td.cloud().rhoTrans(gid)[cellI] += np0*mass1*Y_[i];
             }
             td.cloud().UTrans()[cellI] += np0*mass1*U1;
             td.cloud().hsTrans()[cellI] +=
-                np0*mass1*td.cloud().composition().H(0, Y_, pc_, T1);
+                np0*mass1*composition.H(0, Y_, pc_, T1);
         }
     }
 
@@ -417,7 +421,7 @@ void Foam::ReactingParcel<ParcelType>::calc
 
     else
     {
-        this->Cp_ = td.cloud().composition().Cp(0, Y_, pc_, T1);
+        this->Cp_ = composition.Cp(0, Y_, pc_, T1);
         this->T_ = T1;
         this->U_ = U1;
 
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
index 6333e8e65cdd530266c18551dd03ac1b36806a64..85e0472c792eaec998282fad1effe51f95ec3a74 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -114,7 +114,7 @@ void Foam::ConstantRateDevolatilisation<CloudType>::calculate
     forAll(volatileData_, i)
     {
         const label id = volatileToGasMap_[i];
-        const scalar massVolatile0 = mass0*YVolatile0_[id];
+        const scalar massVolatile0 = mass0*YVolatile0_[i];
         const scalar massVolatile = mass*YGasEff[id];
 
         // Combustion allowed once all volatile components evolved
diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
index 388e8c2fa0e92875619fafe85cee3f06d259a196..78abc846fe7fa0eba292676538f685a772048cdc 100644
--- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
+++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2008-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2008-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -117,7 +117,7 @@ void Foam::SingleKineticRateDevolatilisation<CloudType>::calculate
     forAll(volatileData_, i)
     {
         const label id = volatileToGasMap_[i];
-        const scalar massVolatile0 = mass0*YVolatile0_[id];
+        const scalar massVolatile0 = mass0*YVolatile0_[i];
         const scalar massVolatile = mass*YGasEff[id];
 
         // Combustion allowed once all volatile components evolved
diff --git a/tutorials/lagrangian/steadyReactingParcelFoam/verticalChannel/system/fvSchemes b/tutorials/lagrangian/steadyReactingParcelFoam/verticalChannel/system/fvSchemes
index bda68109c07081848e863fd6825c0849664ea558..da93c451d215c7030bd16f6be662c733c58098e8 100644
--- a/tutorials/lagrangian/steadyReactingParcelFoam/verticalChannel/system/fvSchemes
+++ b/tutorials/lagrangian/steadyReactingParcelFoam/verticalChannel/system/fvSchemes
@@ -36,7 +36,7 @@ divSchemes
     div(phi,k)      Gauss upwind;
     div(phi,epsilon) Gauss upwind;
     div(phi,omega) Gauss upwind;
-    div((muEff*dev2(grad(U).T()))) Gauss linear;
+    div((muEff*dev2(T(grad(U))))) Gauss linear;
     div(phi,Yi_h)   Gauss upwind;
 }