diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/CreateRelativePermeabilityModel.cpp b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/CreateRelativePermeabilityModel.cpp
index 95275cfe9a274e6b888cdc07cd933838400fda34..0f4cb0c7c8068c9a755b685b003a6c531e21d061 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/CreateRelativePermeabilityModel.cpp
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/CreateRelativePermeabilityModel.cpp
@@ -84,7 +84,7 @@ std::unique_ptr<RelativePermeability> createNonWettingPhaseVanGenuchten(
 
     //! \ogs_file_param{material_property__porous_medium__porous_medium__relative_permeability__NonWettingPhaseVanGenuchten__m}
     const double m = config.getConfigParameter<double>("m");
-    if (m < 0.|| m > 1.0)  // m <= 1
+    if (m < 0. || m > 1.0)  // m <= 1
     {
         OGS_FATAL(
             "The exponent parameter of NonWettingPhaseVanGenuchten relative\n"
diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseBrookCoreyOilGas.h b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseBrookCoreyOilGas.h
index f9f24281ee2312e1eb2442d39a0fddb9e9eb720c..50b500802f7e9e9163af9ee92d03434957fed82e 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseBrookCoreyOilGas.h
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseBrookCoreyOilGas.h
@@ -46,8 +46,7 @@ public:
      */
     NonWettingPhaseBrookCoreyOilGas(const double Snr, const double Snmax,
                                     const double m, const double krel_min)
-        : _saturation_r(1. - Snmax),
-          _saturation_max(1. - Snr),
+        : RelativePermeability(1. - Snmax, 1. - Snr),
           _mm(m),
           _krel_min(krel_min)
     {
@@ -68,10 +67,6 @@ public:
     double getdValue(const double saturation_w) const override;
 
 private:
-    const double
-        _saturation_r;  ///< Residual saturation of wetting phase, 1-Snmax.
-    const double
-        _saturation_max;     ///< Maximum saturation of wetting phase, 1-Snr.
     const double _mm;        ///< Exponent (>=1.0), n=1/(1-mm).
     const double _krel_min;  ///< Minimum relative permeability
 };
diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseVanGenuchten.h b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseVanGenuchten.h
index 31568d4fae0f376f8cfdf8919e8d0f1f80f60958..ddc45771b904aa66d2871bd46cf9c88df6942e5a 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseVanGenuchten.h
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/NonWettingPhaseVanGenuchten.h
@@ -48,8 +48,7 @@ public:
      */
     NonWettingPhaseVanGenuchten(const double Snr, const double Snmax,
                                 const double m, const double krel_min)
-        : _saturation_r(1. - Snmax),
-          _saturation_max(1. - Snr),
+        : RelativePermeability(1. - Snmax, 1. - Snr),
           _mm(m),
           _krel_min(krel_min)
     {
@@ -70,10 +69,6 @@ public:
     double getdValue(const double saturation_w) const override;
 
 private:
-    const double
-        _saturation_r;  ///< Residual saturation of wetting phase, 1-Snmax.
-    const double
-        _saturation_max;     ///< Maximum saturation of wetting phase, 1-Snr.
     const double _mm;        ///< Exponent (<=1.0), n=1/(1-mm).
     const double _krel_min;  ///< Minimum relative permeability
 };
diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeability.h b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeability.h
index d0028b6beea472e3eaef40386019621347d8f8c9..243b945a94c6136711aa36220260b2ddc491d05a 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeability.h
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeability.h
@@ -23,6 +23,15 @@ namespace PorousMedium
 class RelativePermeability
 {
 public:
+    /**
+     * @param Sr       Residual saturation.
+     * @param Smax     Maximum saturation.
+     */
+    RelativePermeability(const double Sr, const double Smax)
+        : _saturation_r(Sr), _saturation_max(Smax)
+    {
+    }
+
     virtual ~RelativePermeability() = default;
 
     /// Get model name.
@@ -41,6 +50,9 @@ protected:
      *  that S in  [Sr+_minor_offset, Smax-_minor_offset].
      */
     const double _minor_offset = std::numeric_limits<double>::epsilon();
+
+    const double _saturation_r;    ///< Residual saturation.
+    const double _saturation_max;  ///< Maximum saturation.
 };
 
 }  // end namespace
diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeabilityCurve.h b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeabilityCurve.h
index 502a528e5ab84a87376c5c9fd971fc9a424568d4..b59b22490118044673b5a5aa4d2bbc28b24b5d88 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeabilityCurve.h
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/RelativePermeabilityCurve.h
@@ -28,8 +28,8 @@ class RelativePermeabilityCurve final : public RelativePermeability
 public:
     RelativePermeabilityCurve(
         std::unique_ptr<MathLib::PiecewiseLinearInterpolation>& curve_data)
-        : _saturation_r(curve_data->getSupportMin()),
-          _saturation_max(curve_data->getSupportMax()),
+        : RelativePermeability(curve_data->getSupportMin(),
+                               curve_data->getSupportMax()),
           _curve_data(std::move(curve_data))
     {
     }
@@ -62,9 +62,6 @@ public:
     }
 
 private:
-    const double _saturation_r;    ///< Residual saturation.
-    const double _saturation_max;  ///< Maximum saturation.
-
     std::unique_ptr<MathLib::PiecewiseLinearInterpolation> _curve_data;
 };
 }  // end namespace
diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseBrookCoreyOilGas.h b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseBrookCoreyOilGas.h
index 99d09d2d9c4a412f9cec3250362d8b7cf0b829a6..c2e62f173c65f7ea52d54b84901464bbcc7576a6 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseBrookCoreyOilGas.h
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseBrookCoreyOilGas.h
@@ -43,7 +43,7 @@ public:
      */
     WettingPhaseBrookCoreyOilGas(const double Sr, const double Smax,
                                  const double m, const double krel_min)
-        : _saturation_r(Sr), _saturation_max(Smax), _mm(m), _krel_min(krel_min)
+        : RelativePermeability(Sr, Smax), _mm(m), _krel_min(krel_min)
     {
     }
 
@@ -61,10 +61,8 @@ public:
     double getdValue(const double saturation) const override;
 
 private:
-    const double _saturation_r;    ///< Residual saturation.
-    const double _saturation_max;  ///< Maximum saturation.
-    const double _mm;              ///< Exponent (>=1.0), n=1/(1-mm).
-    const double _krel_min;        ///< Minimum relative permeability
+    const double _mm;        ///< Exponent (>=1.0), n=1/(1-mm).
+    const double _krel_min;  ///< Minimum relative permeability
 };
 
 }  // end namespace
diff --git a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseVanGenuchten.h b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseVanGenuchten.h
index 3dec39d367d7950c6c200361221604c5a5fbad4f..3571ab7c4f8e332b5ca39512e29bab58cb498500 100644
--- a/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseVanGenuchten.h
+++ b/MaterialLib/PorousMedium/UnsaturatedProperty/RelativePermeability/WettingPhaseVanGenuchten.h
@@ -46,7 +46,7 @@ public:
      */
     WettingPhaseVanGenuchten(const double Sr, const double Smax, const double m,
                              const double krel_min)
-        : _saturation_r(Sr), _saturation_max(Smax), _mm(m), _krel_min(krel_min)
+        : RelativePermeability(Sr, Smax), _mm(m), _krel_min(krel_min)
     {
     }
 
@@ -64,10 +64,8 @@ public:
     double getdValue(const double saturation) const override;
 
 private:
-    const double _saturation_r;    ///< Residual saturation.
-    const double _saturation_max;  ///< Maximum saturation.
-    const double _mm;              ///< Exponent (<=1.0), n=1/(1-mm).
-    const double _krel_min;        ///< Minimum relative permeability
+    const double _mm;        ///< Exponent (<=1.0), n=1/(1-mm).
+    const double _krel_min;  ///< Minimum relative permeability
 };
 
 }  // end namespace