diff --git a/ChemistryLib/ChemicalSolverInterface.h b/ChemistryLib/ChemicalSolverInterface.h
index 2a50dc04b593a7a27938bf61591a1cf626c3a069..a1a6eb1f66ee705e067fb229b03f64b24ad586d2 100644
--- a/ChemistryLib/ChemicalSolverInterface.h
+++ b/ChemistryLib/ChemicalSolverInterface.h
@@ -37,12 +37,9 @@ public:
     {
     }
 
-    virtual void executeInitialCalculation(
-        std::vector<GlobalVector> const& interpolated_process_solutions) = 0;
+    virtual void executeInitialCalculation() = 0;
 
-    virtual void doWaterChemistryCalculation(
-        std::vector<GlobalVector> const& interpolated_process_solutions,
-        double const dt) = 0;
+    virtual void doWaterChemistryCalculation(double const dt) = 0;
 
     virtual std::vector<GlobalVector*> getIntPtProcessSolutions() const = 0;
 
diff --git a/ChemistryLib/PhreeqcIO.cpp b/ChemistryLib/PhreeqcIO.cpp
index d1515e5d2441256872a341544ed1c77ca604bf2e..13d4116cd377be8803bff7e59e711676b0706d1c 100644
--- a/ChemistryLib/PhreeqcIO.cpp
+++ b/ChemistryLib/PhreeqcIO.cpp
@@ -163,11 +163,11 @@ void PhreeqcIO::initializeChemicalSystemConcrete(
     }
 }
 
-void PhreeqcIO::executeInitialCalculation(
-    std::vector<GlobalVector> const& interpolated_process_solutions)
 {
     setAqueousSolution(interpolated_process_solutions);
 
+void PhreeqcIO::executeInitialCalculation()
+{
     writeInputsToFile();
 
     execute();
@@ -191,9 +191,7 @@ std::vector<GlobalVector*> PhreeqcIO::getIntPtProcessSolutions() const
     return int_pt_process_solutions;
 }
 
-void PhreeqcIO::doWaterChemistryCalculation(
-    std::vector<GlobalVector> const& interpolated_process_solutions,
-    double const dt)
+void PhreeqcIO::doWaterChemistryCalculation(double const dt)
 {
     setAqueousSolution(interpolated_process_solutions);
 
diff --git a/ChemistryLib/PhreeqcIO.h b/ChemistryLib/PhreeqcIO.h
index f0eacf1b7300cd10f89f76f212fe4a9fe766fe15..cd9ae0e6f972d61048751dae0fafb1496a125a5d 100644
--- a/ChemistryLib/PhreeqcIO.h
+++ b/ChemistryLib/PhreeqcIO.h
@@ -52,13 +52,10 @@ public:
         ParameterLib::SpatialPosition const& pos,
         double const t) override;
 
-    void executeInitialCalculation(std::vector<GlobalVector> const&
-                                       interpolated_process_solutions) override;
 
-    void doWaterChemistryCalculation(
-        std::vector<GlobalVector> const& interpolated_process_solutions,
-        double const dt) override;
+    void executeInitialCalculation() override;
 
+    void doWaterChemistryCalculation(double const dt) override;
     void setAqueousSolution(
         std::vector<GlobalVector> const& interpolated_process_solutions);
 
diff --git a/ChemistryLib/PhreeqcKernel.cpp b/ChemistryLib/PhreeqcKernel.cpp
index 9dfdc88ecfeb9517e3c99c08bb71bf900090d36e..8091d800c8a13b8f09b8ba0e1757e88760c094fc 100644
--- a/ChemistryLib/PhreeqcKernel.cpp
+++ b/ChemistryLib/PhreeqcKernel.cpp
@@ -169,9 +169,7 @@ void PhreeqcKernel::reinitializeRates()
     };
 }
 
-void PhreeqcKernel::doWaterChemistryCalculation(
-    std::vector<GlobalVector> const& /*interpolated_process_solutions*/,
-    double const dt)
+void PhreeqcKernel::doWaterChemistryCalculation(double const dt)
 {
     std::vector<GlobalVector*> process_solutions;
 
@@ -325,8 +323,7 @@ void PhreeqcKernel::reset(std::size_t const chemical_system_id)
     }
 }
 
-void PhreeqcKernel::executeInitialCalculation(
-    std::vector<GlobalVector> const& /*interpolated_process_solutions*/)
+void PhreeqcKernel::executeInitialCalculation()
 {
     // TODO (Renchao): This function could be replaced with
     // PhreeqcKernel::doWaterChemistryCalculation(std::vector<GlobalVector*>&
diff --git a/ChemistryLib/PhreeqcKernel.h b/ChemistryLib/PhreeqcKernel.h
index edd232a07f100b7ca6a276c5a987ecd39a80e06d..54ad842709430fcbdfc36d041c92ab8a8842b44b 100644
--- a/ChemistryLib/PhreeqcKernel.h
+++ b/ChemistryLib/PhreeqcKernel.h
@@ -41,12 +41,9 @@ public:
                   std::unique_ptr<Kinetics>&& kinetic_reactants,
                   std::vector<ReactionRate>&& reaction_rates);
 
-    void executeInitialCalculation(std::vector<GlobalVector> const&
-                                       interpolated_process_solutions) override;
+    void executeInitialCalculation() override;
 
-    void doWaterChemistryCalculation(
-        std::vector<GlobalVector> const& interpolated_process_solutions,
-        double const dt) override;
+    void doWaterChemistryCalculation(double const dt) override;
 
     void setAqueousSolutions(
         std::vector<GlobalVector*> const& process_solutions);
diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp
index 26dc520092137e659d2daabee4186666ff0ac008..5037f7a70b065d92115ae29441adde5100680370 100644
--- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp
+++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp
@@ -127,8 +127,7 @@ void ComponentTransportProcess::setInitialConditionsConcreteProcess(
     BaseLib::RunTime time_phreeqc;
     time_phreeqc.start();
 
-    _chemical_solver_interface->executeInitialCalculation(
-        interpolateNodalValuesToIntegrationPoints(x));
+    _chemical_solver_interface->executeInitialCalculation();
 
     extrapolateIntegrationPointValuesToNodes(
         t, _chemical_solver_interface->getIntPtProcessSolutions(), x);
@@ -228,8 +227,7 @@ void ComponentTransportProcess::solveReactionEquation(
     BaseLib::RunTime time_phreeqc;
     time_phreeqc.start();
 
-    _chemical_solver_interface->doWaterChemistryCalculation(
-        interpolateNodalValuesToIntegrationPoints(x), dt);
+    _chemical_solver_interface->doWaterChemistryCalculation(dt);
 
     extrapolateIntegrationPointValuesToNodes(
         t, _chemical_solver_interface->getIntPtProcessSolutions(), x);