diff --git a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
index 8652773a330145eb3b47c8952624f78c7f304589..2a5b33ecb18e1e941935d96f5a9125424e1cec54 100644
--- a/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
+++ b/ProcessLib/HydroMechanics/CreateHydroMechanicsProcess.cpp
@@ -169,13 +169,6 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
             "specific_gas_constant", std::numeric_limits<double>::quiet_NaN());
     DBUG("Use 'specific_gas_constant' as specific gas constant.");
 
-    // Fluid compressibility
-    double const fluid_compressibility =
-        //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__fluid_compressibility}
-        config.getConfigParameter<double>(
-            "fluid_compressibility", std::numeric_limits<double>::quiet_NaN());
-    DBUG("Use 'fluid_compressibility' as fluid compressibility parameter.");
-
     auto const fluid_type =
         FluidType::strToFluidType(
             //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS__fluid_type}
@@ -193,8 +186,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
         materialIDs(mesh),     std::move(media_map),
         std::move(solid_constitutive_relations),
         initial_stress,        specific_body_force,
-        fluid_compressibility, reference_temperature,
-        specific_gas_constant, fluid_type};
+        reference_temperature, specific_gas_constant,
+        fluid_type};
 
     SecondaryVariableCollection secondary_variables;
 
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
index 58d3263baf347ba99e1691ffba4ca7bda57756df..ef20b4c4919d99b2622d3db4b9cb0ae8df7b5b64 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM-impl.h
@@ -228,14 +228,14 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         auto const K_S = solid_material.getBulkModulus(t, x_position);
         auto const rho_sr = solid_phase.property(MPL::PropertyType::density)
                                 .template value<double>(vars, x_position, t);
-        // TODO (FZill) get fluid properties from GPML
-        double const p_fr =
-            (_process_data.fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
-                ? N_p.dot(p)
-                : std::numeric_limits<double>::quiet_NaN();
-        double const beta_p = _process_data.getFluidCompressibility(p_fr);
+
         auto const rho_fr = gas_phase.property(MPL::PropertyType::density)
                                 .template value<double>(vars, x_position, t);
+        auto const beta_p =
+            gas_phase.property(MPL::PropertyType::density)
+                .template dValue<double>(vars, MPL::Variable::phase_pressure,
+                                         x_position, t) / rho_fr;
+
         auto const porosity = solid_phase.property(MPL::PropertyType::porosity)
                                   .template value<double>(vars, x_position, t);
         auto const& identity2 = MathLib::KelvinVector::Invariants<
@@ -450,14 +450,13 @@ void HydroMechanicsLocalAssembler<ShapeFunctionDisplacement,
         auto const alpha_b =
             solid_phase.property(MPL::PropertyType::biot_coefficient)
                 .template value<double>(vars, x_position, t);
-        // TODO (FZill) get fluid properties from GPML
-        double const p_fr =
-            (_process_data.fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
-                ? N_p.dot(p)
-                : std::numeric_limits<double>::quiet_NaN();
-        double const beta_p = _process_data.getFluidCompressibility(p_fr);
+
         auto const rho_fr = gas_phase.property(MPL::PropertyType::density)
                                 .template value<double>(vars, x_position, t);
+        auto const beta_p =
+            gas_phase.property(MPL::PropertyType::density)
+                .template dValue<double>(vars, MPL::Variable::phase_pressure,
+                                         x_position, t) / rho_fr;
         auto const porosity = solid_phase.property(MPL::PropertyType::porosity)
                                   .template value<double>(vars, x_position, t);
         auto const K_S = solid_material.getBulkModulus(t, x_position);
diff --git a/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h b/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
index f9cd065565a8db1ee13428c61e6310c72c973d74..af8a6fab75d2f71d9c7d4de07c3ba4309f761e60 100644
--- a/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
+++ b/ProcessLib/HydroMechanics/HydroMechanicsProcessData.h
@@ -56,11 +56,6 @@ struct HydroMechanicsProcessData
     /// A vector of displacement dimension's length.
     Eigen::Matrix<double, DisplacementDim, 1> const specific_body_force;
 
-    /// Fluid's compressibility. A scalar quantity.
-    /// Only used for compressible_fluid fluid_type
-    double const fluid_compressibility =
-        std::numeric_limits<double>::quiet_NaN();
-
     /// Reference Temperature. A scalar quantity.
     /// Only used for ideal_gas fluid_type
     double const reference_temperature =
@@ -75,25 +70,6 @@ struct HydroMechanicsProcessData
     /// incompressible_fluid, compressible_fluid, ideal_gas
     FluidType::Fluid_Type const fluid_type;
 
-
-    /// will be removed after linking with MPL
-    double getFluidCompressibility(double const& p_fr)
-    {
-        if (fluid_type == FluidType::Fluid_Type::INCOMPRESSIBLE_FLUID)
-        {
-            return 0.0;
-        }
-        if (fluid_type == FluidType::Fluid_Type::COMPRESSIBLE_FLUID)
-        {
-            return fluid_compressibility;
-        }
-        if (fluid_type == FluidType::Fluid_Type::IDEAL_GAS)
-        {
-            return 1.0 / p_fr;
-        }
-        OGS_FATAL("unknown fluid type %d", static_cast<int> (fluid_type));
-    }
-
     MeshLib::PropertyVector<double>* pressure_interpolated = nullptr;
     std::array<MeshLib::PropertyVector<double>*, 3> principal_stress_vector = {
         nullptr, nullptr, nullptr};