diff --git a/ChemistryLib/PhreeqcIO.cpp b/ChemistryLib/PhreeqcIO.cpp
index 349820eeabcd8745cdafd10c4927014fd2adea6a..be9377f2fb78ce2c14aaad2f99e7c823850d4965 100644
--- a/ChemistryLib/PhreeqcIO.cpp
+++ b/ChemistryLib/PhreeqcIO.cpp
@@ -419,9 +419,18 @@ double PhreeqcIO::getConcentration(
     auto& components = aqueous_solution.components;
     auto const& pH = *aqueous_solution.pH;
 
-    return component_id < static_cast<int>(components.size())
-               ? components[component_id].amount->get(chemical_system_id)
-               : pH.get(chemical_system_id);
+    if (component_id < static_cast<int>(components.size()))
+    {
+        MathLib::LinAlg::setLocalAccessibleVector(
+            *components[component_id].amount);
+
+        return components[component_id].amount->get(chemical_system_id);
+    }
+
+    // pH
+    MathLib::LinAlg::setLocalAccessibleVector(*aqueous_solution.pH);
+
+    return pH.get(chemical_system_id);
 }
 
 void PhreeqcIO::setAqueousSolutionsPrevFromDumpFile()