diff --git a/ChemistryLib/ChemicalSolverInterface.h b/ChemistryLib/ChemicalSolverInterface.h
index 50a123cf0a36635edf3a0d4fc847d07914fd7910..8596a8721387f54828966eefa919d663f03d2b90 100644
--- a/ChemistryLib/ChemicalSolverInterface.h
+++ b/ChemistryLib/ChemicalSolverInterface.h
@@ -61,7 +61,7 @@ public:
 
     virtual void updateVolumeFractionPostReaction(
         GlobalIndexType const& /*chemical_system_id*/,
-        MaterialPropertyLib::Medium const* /*medium*/,
+        MaterialPropertyLib::Medium const& /*medium*/,
         ParameterLib::SpatialPosition const& /*pos*/, double const /*porosity*/,
         double const /*t*/, double const /*dt*/)
     {
@@ -69,7 +69,7 @@ public:
 
     virtual void updatePorosityPostReaction(
         GlobalIndexType const& /*chemical_system_id*/,
-        MaterialPropertyLib::Medium const* /*medium*/,
+        MaterialPropertyLib::Medium const& /*medium*/,
         double& /*porosity*/)
     {
     }
diff --git a/ChemistryLib/PhreeqcIO.cpp b/ChemistryLib/PhreeqcIO.cpp
index 82eee906451b8994057adddda9e7d5a38ab142c2..bbfe76aaf01f39cfdfb58c966b400c329bc4657d 100644
--- a/ChemistryLib/PhreeqcIO.cpp
+++ b/ChemistryLib/PhreeqcIO.cpp
@@ -167,13 +167,14 @@ void setReactantMolality(Reactant& reactant,
 
 template <typename Reactant>
 void setReactantVolumeFraction(Reactant& reactant,
-                         GlobalIndexType const& chemical_system_id,
-                         MaterialPropertyLib::Medium const* medium,
-                         ParameterLib::SpatialPosition const& pos, double const porosity,
-                         double const t, double const dt)
+                               GlobalIndexType const& chemical_system_id,
+                               MaterialPropertyLib::Medium const& medium,
+                               ParameterLib::SpatialPosition const& pos,
+                               double const porosity, double const t,
+                               double const dt)
 {
-    auto const& solid_phase = medium->phase("Solid");
-    auto const& liquid_phase = medium->phase("AqueousLiquid");
+    auto const& solid_phase = medium.phase("Solid");
+    auto const& liquid_phase = medium.phase("AqueousLiquid");
 
     MaterialPropertyLib::VariableArray vars;
 
@@ -203,11 +204,11 @@ void setReactantVolumeFraction(Reactant& reactant,
 
 template <typename Reactant>
 void setPorosityPostReaction(Reactant& reactant,
-    GlobalIndexType const& chemical_system_id,
-    MaterialPropertyLib::Medium const* medium,
-    double& porosity)
+                             GlobalIndexType const& chemical_system_id,
+                             MaterialPropertyLib::Medium const& medium,
+                             double& porosity)
 {
-    auto const& solid_phase = medium->phase("Solid");
+    auto const& solid_phase = medium.phase("Solid");
 
     auto const& solid_constituent =
         solid_phase.component(reactant.name);
@@ -728,7 +729,7 @@ std::vector<std::string> const PhreeqcIO::getComponentList() const
 
 void PhreeqcIO::updateVolumeFractionPostReaction(
     GlobalIndexType const& chemical_system_id,
-    MaterialPropertyLib::Medium const* medium,
+    MaterialPropertyLib::Medium const& medium,
     ParameterLib::SpatialPosition const& pos, double const porosity,
     double const t, double const dt)
 {
@@ -747,7 +748,7 @@ void PhreeqcIO::updateVolumeFractionPostReaction(
 
 void PhreeqcIO::updatePorosityPostReaction(
     GlobalIndexType const& chemical_system_id,
-    MaterialPropertyLib::Medium const* medium,
+    MaterialPropertyLib::Medium const& medium,
     double& porosity)
 {
     for (auto& kinetic_reactant : _chemical_system->kinetic_reactants)
diff --git a/ChemistryLib/PhreeqcIO.h b/ChemistryLib/PhreeqcIO.h
index 2981106c3717bd7ca06f3784b7ca11686c311dca..22d31ff3f7f776d0c94127c52b258abe39c1f8f4 100644
--- a/ChemistryLib/PhreeqcIO.h
+++ b/ChemistryLib/PhreeqcIO.h
@@ -74,12 +74,12 @@ public:
 
     void updateVolumeFractionPostReaction(
         GlobalIndexType const& chemical_system_id,
-        MaterialPropertyLib::Medium const* medium,
+        MaterialPropertyLib::Medium const& medium,
         ParameterLib::SpatialPosition const& pos, double const porosity,
         double const t, double const dt) override;
 
     void updatePorosityPostReaction(GlobalIndexType const& chemical_system_id,
-                                    MaterialPropertyLib::Medium const* medium,
+                                    MaterialPropertyLib::Medium const& medium,
                                     double& porosity) override;
 
     void computeSecondaryVariable(
diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h
index f5740eb98a4d4dd5f74dfa68c9d0b8ec2cb98649..e077617de0d88760e7eb584314fe32105437f7f5 100644
--- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h
+++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h
@@ -1164,7 +1164,8 @@ public:
         {
             if (_process_data.chemically_induced_porosity_change)
             {
-                auto const& medium = _process_data.media_map->getMedium(ele_id);
+                auto const& medium =
+                    *_process_data.media_map->getMedium(ele_id);
 
                 ParameterLib::SpatialPosition pos;
                 pos.setElementID(ele_id);