diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp
index 177afcbaeb1266fc4957b77f2a4582e61c430828..5b2209b42d001d700b83881f9c930a9da0172c57 100644
--- a/Applications/ApplicationsLib/ProjectData.cpp
+++ b/Applications/ApplicationsLib/ProjectData.cpp
@@ -554,8 +554,8 @@ ProjectData::parseChemicalSolverInterface(
             "using file-based approach.");
 
         chemical_solver_interface = ChemistryLib::createChemicalSolverInterface<
-            ChemistryLib::ChemicalSolver::Phreeqc>(_mesh_vec, *config,
-                                                   output_directory);
+            ChemistryLib::ChemicalSolver::Phreeqc>(_mesh_vec, _linear_solvers,
+                                                   *config, output_directory);
     }
     else if (boost::iequals(chemical_solver, "PhreeqcKernel"))
     {
diff --git a/ChemistryLib/CreateChemicalSolverInterface.cpp b/ChemistryLib/CreateChemicalSolverInterface.cpp
index e3e6275b6773be9af6a9f31e0d7fc2df97959c19..9588791cc0b3508b5a177c6b589a95129e41733b 100644
--- a/ChemistryLib/CreateChemicalSolverInterface.cpp
+++ b/ChemistryLib/CreateChemicalSolverInterface.cpp
@@ -64,6 +64,8 @@ template <>
 std::unique_ptr<ChemicalSolverInterface>
 createChemicalSolverInterface<ChemicalSolver::Phreeqc>(
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
+    std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const&
+        linear_solvers,
     BaseLib::ConfigTree const& config, std::string const& output_directory)
 {
     auto mesh_name =
@@ -145,6 +147,8 @@ template <>
 std::unique_ptr<ChemicalSolverInterface>
 createChemicalSolverInterface<ChemicalSolver::PhreeqcKernel>(
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
+    std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const&
+        linear_solvers,
     BaseLib::ConfigTree const& config, std::string const& /*output_directory*/)
 {
     auto mesh = *meshes[0];
diff --git a/ChemistryLib/CreateChemicalSolverInterface.h b/ChemistryLib/CreateChemicalSolverInterface.h
index 104c80636665a39092b6f7f22fc130b542616449..85c4ba782d165647cc345053a82c1d78660c4b2e 100644
--- a/ChemistryLib/CreateChemicalSolverInterface.h
+++ b/ChemistryLib/CreateChemicalSolverInterface.h
@@ -10,11 +10,13 @@
 
 #pragma once
 
+#include <map>
 #include <memory>
 #include <string>
 #include <vector>
 
 #include "ChemicalSolverType.h"
+#include "MathLib/LinAlg/GlobalMatrixVectorTypes.h"
 
 namespace BaseLib
 {
@@ -33,5 +35,7 @@ class ChemicalSolverInterface;
 template <ChemicalSolver chemical_solver>
 std::unique_ptr<ChemicalSolverInterface> createChemicalSolverInterface(
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
+    std::map<std::string, std::unique_ptr<GlobalLinearSolver>> const&
+        linear_solvers,
     BaseLib::ConfigTree const& config, std::string const& output_directory);
 }  // namespace ChemistryLib