diff --git a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
index 4914d6fce61003187e7b618e43e4ed74b5bbd158..b3b09939772da87a9b944ddc28767bbdd8bbb36b 100644
--- a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
+++ b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
@@ -180,6 +180,11 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
         std::copy_n(b.data(), b.size(), specific_body_force.data());
     }
 
+    // Reference temperature
+    const auto& reference_temperature =
+        //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__reference_temperature}
+        config.getConfigParameterOptional<double>("reference_temperature");
+
     HydroMechanicsProcessData<DisplacementDim> process_data{
         std::move(material),
         intrinsic_permeability,
@@ -189,7 +194,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
         biot_coefficient,
         porosity,
         solid_density,
-        specific_body_force};
+        specific_body_force,
+        *reference_temperature};
 
     SecondaryVariableCollection secondary_variables;
 
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
index 073740489f02034ab3af1eb19d0e68d93dc9aff3..9e6d1641f28e693e8404b5a4aa4be097fc824145 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
@@ -202,7 +202,8 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         //
         eps.noalias() = B * u;
 
-        auto C = _ip_data[ip].updateConstitutiveRelation(t, x_position, dt, u);
+        auto C = _ip_data[ip].updateConstitutiveRelation(
+            t, x_position, dt, u, _process_data.reference_temperature);
 
         local_Jac
             .template block<displacement_size, displacement_size>(
@@ -488,7 +489,8 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
 
         eps.noalias() = B * u;
 
-        auto C = _ip_data[ip].updateConstitutiveRelation(t, x_position, dt, u);
+        auto C = _ip_data[ip].updateConstitutiveRelation(
+            t, x_position, dt, u, _process_data.reference_temperature);
 
         local_Jac.noalias() += B.transpose() * C * B * w;
 
@@ -574,7 +576,8 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         auto& eps = _ip_data[ip].eps;
         eps.noalias() = B * u;
 
-        _ip_data[ip].updateConstitutiveRelation(t, x_position, dt, u);
+        _ip_data[ip].updateConstitutiveRelation(
+            t, x_position, dt, u, _process_data.reference_temperature);
     }
 }
 
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM.h
index 1b21a0fcb455507337a0c45bedad61fcce2ce86e..26dd8d5a5c761268ecf285072cfe1f48a617c5bb 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsFEM.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM.h
@@ -73,12 +73,12 @@ struct IntegrationPointData final
         double const t,
         SpatialPosition const& x_position,
         double const dt,
-        DisplacementVectorType const& /*u*/)
+        DisplacementVectorType const& /*u*/,
+        double const T)
     {
         auto&& solution = solid_material.integrateStress(
             t, x_position, dt, eps_prev, eps, sigma_eff_prev,
-            *material_state_variables,
-            MaterialLib::PhysicalConstant::RoomTemperature);
+            *material_state_variables, T);
 
         if (!solution)
             OGS_FATAL("Computation of local constitutive relation failed.");
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h b/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
index b8c7b006d3250a4c93d6370a256898af1f86623d..fea5be6470ac90e93cc580107081320ab2fafff8 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
@@ -42,7 +42,8 @@ struct HydroMechanicsProcessData
         Parameter<double> const& porosity_,
         Parameter<double> const& solid_density_,
         Eigen::Matrix<double, DisplacementDim, 1>
-            specific_body_force_)
+            specific_body_force_,
+        double const reference_temperature_)
         : material{std::move(material_)},
           intrinsic_permeability(intrinsic_permeability_),
           specific_storage(specific_storage_),
@@ -51,7 +52,8 @@ struct HydroMechanicsProcessData
           biot_coefficient(biot_coefficient_),
           porosity(porosity_),
           solid_density(solid_density_),
-          specific_body_force(std::move(specific_body_force_))
+          specific_body_force(std::move(specific_body_force_)),
+          reference_temperature(reference_temperature_)
     {
     }
 
@@ -66,7 +68,8 @@ struct HydroMechanicsProcessData
           solid_density(other.solid_density),
           specific_body_force(other.specific_body_force),
           dt(other.dt),
-          t(other.t)
+          t(other.t),
+          reference_temperature(other.reference_temperature)
     {
     }
 
@@ -105,6 +108,8 @@ struct HydroMechanicsProcessData
     double dt = 0.0;
     double t = 0.0;
 
+    double const reference_temperature;
+
     EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
 };