diff --git a/ChemistryLib/ChemicalSolverInterface.h b/ChemistryLib/ChemicalSolverInterface.h
index 492e88e79c033055c18e3ea91455ec3fac2b7d3a..b7339bfe695ac843cc44fee55cc3e55978ee1ad9 100644
--- a/ChemistryLib/ChemicalSolverInterface.h
+++ b/ChemistryLib/ChemicalSolverInterface.h
@@ -48,6 +48,8 @@ public:
     {
     }
 
+    virtual void setAqueousSolutionsPrevFromDumpFile() {}
+
     virtual void executeInitialCalculation() = 0;
 
     virtual void doWaterChemistryCalculation(double const dt) = 0;
diff --git a/ChemistryLib/PhreeqcIO.cpp b/ChemistryLib/PhreeqcIO.cpp
index 9ecc4807c5de52e7d9ab5a14a1270f178c088e39..07b12640a3d86b064b99d16ca210ef5f6231c29e 100644
--- a/ChemistryLib/PhreeqcIO.cpp
+++ b/ChemistryLib/PhreeqcIO.cpp
@@ -302,8 +302,6 @@ std::vector<GlobalVector*> PhreeqcIO::getIntPtProcessSolutions() const
 
 void PhreeqcIO::doWaterChemistryCalculation(double const dt)
 {
-    setAqueousSolutionsPrevFromDumpFile();
-
     writeInputsToFile(dt);
 
     execute();
diff --git a/ChemistryLib/PhreeqcIO.h b/ChemistryLib/PhreeqcIO.h
index 376f8aaa712bb07d0b2b75c58b85578a5719033a..3871493addc99e919c0d54d0e38c4ce4650b648e 100644
--- a/ChemistryLib/PhreeqcIO.h
+++ b/ChemistryLib/PhreeqcIO.h
@@ -61,6 +61,8 @@ public:
         ParameterLib::SpatialPosition const& pos, double const t,
         double const dt) override;
 
+    void setAqueousSolutionsPrevFromDumpFile() override;
+
     void executeInitialCalculation() override;
 
     void doWaterChemistryCalculation(double const dt) override;
@@ -93,8 +95,6 @@ private:
         return *this;
     }
 
-    void setAqueousSolutionsPrevFromDumpFile();
-
     std::string const _database;
     std::unique_ptr<ChemicalSystem> _chemical_system;
     std::vector<ReactionRate> const _reaction_rates;
diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp
index 8b59ddfecddb3de5a8ed42e23caecf9c68dcfa77..ea76dff778bf8b11f47969bffe0fea958ab01548 100644
--- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp
+++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp
@@ -239,6 +239,8 @@ void ComponentTransportProcess::solveReactionEquation(
     BaseLib::RunTime time_phreeqc;
     time_phreeqc.start();
 
+    _chemical_solver_interface->setAqueousSolutionsPrevFromDumpFile();
+
     _chemical_solver_interface->doWaterChemistryCalculation(dt);
 
     extrapolateIntegrationPointValuesToNodes(