diff --git a/ProcessLib/TimeLoop.cpp b/ProcessLib/TimeLoop.cpp
index 41abad0cdfe293edf91cd9f9fbf84acaf384b1b5..4d0d9ae71457561d745ce2391af0ed3dc33c05bc 100644
--- a/ProcessLib/TimeLoop.cpp
+++ b/ProcessLib/TimeLoop.cpp
@@ -458,6 +458,10 @@ void TimeLoop::initialize()
         _chemical_solver_interface->executeInitialCalculation(
             pcs.interpolateNodalValuesToIntegrationPoints(_process_solutions));
 
+        pcs.extrapolateIntegrationPointValuesToNodes(
+            0., _chemical_solver_interface->getIntPtProcessSolutions(),
+            _process_solutions);
+
         INFO("[time] Phreeqc took {:g} s.", time_phreeqc.elapsed());
     }
 
@@ -824,6 +828,10 @@ TimeLoop::solveCoupledEquationSystemsByStaggeredScheme(
             pcs.interpolateNodalValuesToIntegrationPoints(_process_solutions),
             dt);
 
+        pcs.extrapolateIntegrationPointValuesToNodes(
+            t, _chemical_solver_interface->getIntPtProcessSolutions(),
+            _process_solutions);
+
         INFO("[time] Phreeqc took {:g} s.", time_phreeqc.elapsed());
     }