diff --git a/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationBrooksCorey.cpp b/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationBrooksCorey.cpp
index 92e6e5a170fdd31648fd2ec215f28cbc562841c8..18c532aac79525438f8ec070ffd214d98e417e12 100644
--- a/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationBrooksCorey.cpp
+++ b/MaterialLib/MPL/Properties/CapillaryPressureSaturation/SaturationBrooksCorey.cpp
@@ -106,6 +106,11 @@ PropertyDataType SaturationBrooksCorey::d2Value(
         std::get<double>(
             variable_array[static_cast<int>(Variable::capillary_pressure)]));
 
+    if (p_cap <= p_b)
+    {
+        return 0.;
+    }
+
     const double s_L_res = residual_liquid_saturation_;
     const double s_L_max = 1.0 - residual_gas_saturation_;