diff --git a/applications/solvers/combustion/chemFoam/solveChemistry.H b/applications/solvers/combustion/chemFoam/solveChemistry.H
index daf56309bd3221a9f552d9c811d33a513258307b..cb4258c31df34b4c78aff3462226c21d815e3c29 100644
--- a/applications/solvers/combustion/chemFoam/solveChemistry.H
+++ b/applications/solvers/combustion/chemFoam/solveChemistry.H
@@ -1,7 +1,3 @@
-    dtChem = chemistry.solve
-    (
-        runTime.value() - runTime.deltaT().value(),
-        runTime.deltaT().value()
-    );
+    dtChem = chemistry.solve(runTime.deltaT().value());
     scalar Sh = chemistry.Sh()()[0]/rho[0];
     integratedHeat += Sh*runTime.deltaT().value();
diff --git a/src/combustionModels/PaSR/PaSR.C b/src/combustionModels/PaSR/PaSR.C
index 8cf2f031719f96f5b59fef7eb628dd507805125e..7bf26a18cba640ac5f7c3844be67688c167cc8ea 100644
--- a/src/combustionModels/PaSR/PaSR.C
+++ b/src/combustionModels/PaSR/PaSR.C
@@ -81,16 +81,15 @@ void Foam::combustionModels::PaSR<Type>::correct()
 {
     if (this->active())
     {
-        const scalar t = this->mesh().time().value();
         const scalar dt = this->mesh().time().deltaTValue();
 
-        if (!useReactionRate_)
+        if (useReactionRate_)
         {
-            this->chemistryPtr_->solve(t - dt, dt);
+            this->chemistryPtr_->calculate();
         }
         else
         {
-            this->chemistryPtr_->calculate();
+            this->chemistryPtr_->solve(dt);
         }
 
         if (turbulentReaction_)
@@ -107,24 +106,15 @@ void Foam::combustionModels::PaSR<Type>::correct()
 
             forAll(epsilon, i)
             {
-                if (epsilon[i] > 0)
+                scalar tk =
+                    Cmix_*Foam::sqrt(muEff[i]/rho[i]/(epsilon[i] + SMALL));
+
+                if (tk > SMALL)
                 {
-                    scalar tk =
-                        Cmix_*Foam::sqrt(muEff[i]/rho[i]/(epsilon[i] + SMALL));
-
-                    // Chalmers PaSR model
-                    if (!useReactionRate_)
-                    {
-                        kappa_[i] = (dt + tc[i])/(dt + tc[i] + tk);
-                    }
-                    else
-                    {
-                        kappa_[i] = tc[i]/(tc[i] + tk);
-                    }
+                    kappa_[i] = tc[i]/(tc[i] + tk);
                 }
                 else
                 {
-                    // Return to laminar combustion
                     kappa_[i] = 1.0;
                 }
             }
diff --git a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
index 1e6a30627e609b7f28bd6f6ba4a04110c77849a9..b98417e52aebbed6a61f0b6ff8dffa92f9bb83fc 100644
--- a/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
+++ b/src/regionModels/pyrolysisModels/reactingOneDim/reactingOneDim.C
@@ -691,11 +691,7 @@ void reactingOneDim::evolveRegion()
 
     if (useChemistrySolvers_)
     {
-        solidChemistry_->solve
-        (
-            time().value() - time().deltaTValue(),
-            time().deltaTValue()
-        );
+        solidChemistry_->solve(time().deltaTValue());
     }
     else
     {
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H
index 75ea14eb676ac1a4f84508c8108b7643b823c30a..f7143df63f1272d185cd36138e4cb567e1b14b0a 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/basicChemistryModel/basicChemistryModel.H
@@ -152,9 +152,9 @@ public:
                 //- Calculates the reaction rates
                 virtual void calculate() = 0;
 
-                //- Solve the reaction system for the given start time and
-                //  timestep and return the characteristic time
-                virtual scalar solve(const scalar t0, const scalar deltaT) = 0;
+                //- Solve the reaction system for the given time step
+                //  and return the characteristic time
+                virtual scalar solve(const scalar deltaT) = 0;
 
                 //- Return the chemical time scale
                 virtual tmp<volScalarField> tc() const = 0;
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C
index f23a80b6ef30404388ac8a3c5cccfc5e2fa0dcf7..098083b6fdb59989e2f8e7688ed99d79eb62d545 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.C
@@ -744,7 +744,6 @@ void Foam::chemistryModel<CompType, ThermoType>::calculate()
 template<class CompType, class ThermoType>
 Foam::scalar Foam::chemistryModel<CompType, ThermoType>::solve
 (
-    const scalar t0,
     const scalar deltaT
 )
 {
@@ -795,7 +794,7 @@ Foam::scalar Foam::chemistryModel<CompType, ThermoType>::solve
         c0 = c;
 
         // initialise timing parameters
-        scalar t = t0;
+        scalar t = 0;
         scalar tauC = this->deltaTChem_[celli];
         scalar dt = min(deltaT, tauC);
         scalar timeLeft = deltaT;
diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.H
index 475fc7c8fd77f89ec249d4878d651ba05d456413..232855d620878dbbaa234ef5eee1ca6cc58aae6f 100644
--- a/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.H
+++ b/src/thermophysicalModels/chemistryModel/chemistryModel/chemistryModel/chemistryModel.H
@@ -217,9 +217,9 @@ public:
                 const label i
             );
 
-            //- Solve the reaction system for the given start time and time
-            //  step and return the characteristic time
-            virtual scalar solve(const scalar t0, const scalar deltaT);
+            //- Solve the reaction system for the given time step
+            //  and return the characteristic time
+            virtual scalar solve(const scalar deltaT);
 
             //- Return the chemical time scale
             virtual tmp<volScalarField> tc() const;
diff --git a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C
index 4962bf716b6b5a34079b44e0db1fdee361f30913..f5cb38648bab3d6310f2e96e771c8d158deb8df2 100644
--- a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C
+++ b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.C
@@ -580,7 +580,6 @@ template<class CompType, class SolidThermo, class GasThermo>
 Foam::scalar
 Foam::pyrolysisChemistryModel<CompType, SolidThermo, GasThermo>::solve
 (
-    const scalar t0,
     const scalar deltaT
 )
 {
@@ -638,7 +637,7 @@ Foam::pyrolysisChemistryModel<CompType, SolidThermo, GasThermo>::solve
 
             c0 = c;
 
-            scalar t = t0;
+            scalar t = 0;
             scalar tauC = this->deltaTChem_[celli];
             scalar dt = min(deltaT, tauC);
             scalar timeLeft = deltaT;
diff --git a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.H
index 7ae76c5233383221b14539d5b092439617b8c299..fd82b4d09a88c8c03ebc17d2bf69e665344e825d 100644
--- a/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.H
+++ b/src/thermophysicalModels/solidChemistryModel/pyrolysisChemistryModel/pyrolysisChemistryModel.H
@@ -224,9 +224,9 @@ public:
                 const label i
             ) const;
 
-            //- Solve the reaction system for the given start time and time
-            //  step and return the characteristic time
-            virtual scalar solve(const scalar t0, const scalar deltaT) ;
+            //- Solve the reaction system for the given time step
+            //  and return the characteristic time
+            virtual scalar solve(const scalar deltaT);
 
 
         // ODE functions (overriding abstract functions in ODE.H)
diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H
index bf67f1ca4d27c9662c29369d68d724b1aa854366..93a6833250c5663c7d30f8f33a91e6e514b44a55 100644
--- a/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H
+++ b/src/thermophysicalModels/solidChemistryModel/solidChemistryModel/solidChemistryModel.H
@@ -214,9 +214,9 @@ public:
             //- Return total solid source term
             inline tmp<DimensionedField<scalar, volMesh> > RRs() const;
 
-            //- Solve the reaction system for the given start time and time
-            //  step and return the characteristic time
-            virtual scalar solve(const scalar t0, const scalar deltaT) = 0;
+            //- Solve the reaction system for the given time step
+            //  and return the characteristic time
+            virtual scalar solve(const scalar deltaT) = 0;
 
             //- Return the chemical time scale
             virtual tmp<volScalarField> tc() const;