diff --git a/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp b/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
index 35822e7f650f24c8a9dca23289918693ee3a4531..58eaa2fdee125031aa0a4e521ba180bb11020583 100644
--- a/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
+++ b/ProcessLib/HeatConduction/CreateHeatConductionProcess.cpp
@@ -28,7 +28,8 @@ void checkMPLProperties(
     MaterialPropertyLib::MaterialSpatialDistributionMap const& media_map)
 {
     std::array const required_medium_properties = {
-        MaterialPropertyLib::PropertyType::thermal_conductivity};
+        MaterialPropertyLib::PropertyType::thermal_conductivity,
+        MaterialPropertyLib::PropertyType::heat_capacity};
     std::array<MaterialPropertyLib::PropertyType, 0> const empty{};
 
     MaterialPropertyLib::checkMaterialSpatialDistributionMap(
@@ -70,14 +71,6 @@ std::unique_ptr<Process> createHeatConductionProcess(
     checkMPLProperties(mesh, *media_map);
     DBUG("Media properties verified.");
 
-    // heat capacity parameter.
-    auto& heat_capacity = ParameterLib::findParameter<double>(
-        config,
-        //! \ogs_file_param_special{prj__processes__process__HEAT_CONDUCTION__heat_capacity}
-        "heat_capacity", parameters, 1, &mesh);
-
-    DBUG("Use '{:s}' as heat capacity parameter.", heat_capacity.name);
-
     // density parameter.
     auto& density = ParameterLib::findParameter<double>(
         config,
@@ -90,8 +83,8 @@ std::unique_ptr<Process> createHeatConductionProcess(
         //! \ogs_file_param{prj__processes__process__HEAT_CONDUCTION__mass_lumping}
         config.getConfigParameter<bool>("mass_lumping", false);
 
-    HeatConductionProcessData process_data{std::move(media_map), heat_capacity,
-                                           density, mass_lumping};
+    HeatConductionProcessData process_data{std::move(media_map), density,
+                                           mass_lumping};
 
     SecondaryVariableCollection secondary_variables;
 
diff --git a/ProcessLib/HeatConduction/HeatConductionFEM.h b/ProcessLib/HeatConduction/HeatConductionFEM.h
index 84b4147bd3bc47a45992fb7dcd5d5fdc1fd7d6b9..3b329edd883b72ff6de9e1c1127a5e8444864ea9 100644
--- a/ProcessLib/HeatConduction/HeatConductionFEM.h
+++ b/ProcessLib/HeatConduction/HeatConductionFEM.h
@@ -135,7 +135,11 @@ public:
                     .property(
                         MaterialPropertyLib::PropertyType::thermal_conductivity)
                     .value(vars, pos, t, dt));
-            auto const heat_capacity = _process_data.heat_capacity(t, pos)[0];
+            auto const heat_capacity =
+                medium
+                    .property(
+                        MaterialPropertyLib::PropertyType::heat_capacity)
+                    .template value<double>(vars, pos, t, dt);
             auto const density = _process_data.density(t, pos)[0];
 
             local_K.noalias() += sm.dNdx.transpose() * k * sm.dNdx * sm.detJ *
@@ -208,7 +212,11 @@ public:
                     .property(
                         MaterialPropertyLib::PropertyType::thermal_conductivity)
                     .value(vars, pos, t, dt));
-            auto const heat_capacity = _process_data.heat_capacity(t, pos)[0];
+            auto const heat_capacity =
+                medium
+                    .property(
+                        MaterialPropertyLib::PropertyType::heat_capacity)
+                    .template value<double>(vars, pos, t, dt);
             auto const density = _process_data.density(t, pos)[0];
 
             laplace.noalias() += sm.dNdx.transpose() * k * sm.dNdx * w;
diff --git a/ProcessLib/HeatConduction/HeatConductionProcessData.h b/ProcessLib/HeatConduction/HeatConductionProcessData.h
index e201c923d7b477a000fec66bb54dee5d1a1cb450..ca6594753313a7259ad6fce7f816b22331062809 100644
--- a/ProcessLib/HeatConduction/HeatConductionProcessData.h
+++ b/ProcessLib/HeatConduction/HeatConductionProcessData.h
@@ -26,7 +26,6 @@ struct HeatConductionProcessData
     std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>
         media_map;
 
-    ParameterLib::Parameter<double> const& heat_capacity;
     ParameterLib::Parameter<double> const& density;
 
     /// If set mass lumping will be applied to the equation.