diff --git a/ProcessLib/LIE/Common/FractureProperty.h b/ProcessLib/LIE/Common/FractureProperty.h
index 5762392a5945e986acead383886c937b94540853..4d4181f113d65fa58bdfdd41cc9c1df8b23a945a 100644
--- a/ProcessLib/LIE/Common/FractureProperty.h
+++ b/ProcessLib/LIE/Common/FractureProperty.h
@@ -36,6 +36,12 @@ struct FractureProperty
     Eigen::MatrixXd R;
     /// Initial aperture
     ProcessLib::Parameter<double> const* aperture0 = nullptr;
+
+    virtual ~FractureProperty() = default;
+};
+
+struct FracturePropertyHM : public FractureProperty
+{
     ProcessLib::Parameter<double> const* specific_storage = nullptr;
     ProcessLib::Parameter<double> const* biot_coefficient = nullptr;
 };
diff --git a/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp b/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp
index eb08b52f095a072364604b5678cd901d81e3ff37..4b0421a9e09c886335288d050bac9aab2a0d7111 100644
--- a/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp
+++ b/ProcessLib/LIE/HydroMechanics/CreateHydroMechanicsProcess.cpp
@@ -257,7 +257,7 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
     }
 
     // Fracture properties
-    std::unique_ptr<FractureProperty> frac_prop = nullptr;
+    std::unique_ptr<FracturePropertyHM> frac_prop = nullptr;
     auto opt_fracture_properties_config =
         //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__fracture_properties}
         config.getConfigSubtreeOptional("fracture_properties");
@@ -265,7 +265,7 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
     {
         auto& fracture_properties_config = *opt_fracture_properties_config;
 
-        frac_prop = std::make_unique<ProcessLib::LIE::FractureProperty>();
+        frac_prop = std::make_unique<ProcessLib::LIE::FracturePropertyHM>();
         frac_prop->mat_id =
             //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__fracture_properties__material_id}
             fracture_properties_config.getConfigParameter<int>("material_id");
diff --git a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h
index 27c46ee08c6db1a525571db9952c1f4e56fbb8ec..7290c32446604f7519efa628c134e1d7b99b9d19 100644
--- a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h
+++ b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcessData.h
@@ -49,7 +49,7 @@ struct HydroMechanicsProcessData
             specific_body_force_,
         std::unique_ptr<MaterialLib::Fracture::FractureModelBase<GlobalDim>>&&
             fracture_model,
-        std::unique_ptr<FractureProperty>&& fracture_prop,
+        std::unique_ptr<FracturePropertyHM>&& fracture_prop,
         Parameter<double> const& initial_effective_stress_,
         Parameter<double> const& initial_fracture_effective_stress_,
         bool const deactivate_matrix_in_flow_)
@@ -113,8 +113,7 @@ struct HydroMechanicsProcessData
     Eigen::Matrix<double, GlobalDim, 1> const specific_body_force;
     std::unique_ptr<MaterialLib::Fracture::FractureModelBase<GlobalDim>>
         fracture_model;
-    std::unique_ptr<FractureProperty> fracture_property;
-
+    std::unique_ptr<FracturePropertyHM> fracture_property;
     Parameter<double> const& initial_effective_stress;
     Parameter<double> const& initial_fracture_effective_stress;
 
diff --git a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h
index 6a009bdb9795e10469ffcba73c361320449f0f9d..303878dca3d46c1e66ee723791cf6a65dd9a8b8e 100644
--- a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h
+++ b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerFracture-impl.h
@@ -61,7 +61,7 @@ HydroMechanicsLocalAssemblerFracture<ShapeFunctionDisplacement,
                           IntegrationMethod, GlobalDim>(e, is_axially_symmetric,
                                                         integration_method);
 
-    auto const& frac_prop = *_process_data.fracture_property.get();
+    auto const& frac_prop = *_process_data.fracture_property;
 
     SpatialPosition x_position;
     x_position.setElementID(e.getID());
@@ -164,7 +164,7 @@ void HydroMechanicsLocalAssemblerFracture<ShapeFunctionDisplacement,
         Eigen::Ref<Eigen::MatrixXd>
             J_gp)
 {
-    FractureProperty const& frac_prop = *_process_data.fracture_property;
+    auto const& frac_prop = *_process_data.fracture_property;
     auto const& R = frac_prop.R;
     double const& dt = _process_data.dt;
 
@@ -326,7 +326,7 @@ void HydroMechanicsLocalAssemblerFracture<ShapeFunctionDisplacement,
     auto const nodal_p = local_x.segment(pressure_index, pressure_size);
     auto const nodal_g = local_x.segment(displacement_index, displacement_size);
 
-    FractureProperty const& frac_prop = *_process_data.fracture_property;
+    auto const& frac_prop = *_process_data.fracture_property;
     auto const& R = frac_prop.R;
     // the index of a normal (normal to a fracture plane) component
     // in a displacement vector