diff --git a/dumux/io/plotmateriallaw.hh b/dumux/io/plotmateriallaw.hh
index 9f2abd826d6fb74ae913b93fd3b56a2d589fc2a1..0d9d893252de43455287bdffa1c11434bbc9b9ec 100644
--- a/dumux/io/plotmateriallaw.hh
+++ b/dumux/io/plotmateriallaw.hh
@@ -95,6 +95,13 @@ public:
             }
         }
 
+        // use log scale for very high capillary pressures
+        if (pcMax / std::max(pcMin, 1.0) > 1e6)
+        {
+            gnuplotpcsw_.setOption("set log y");
+            pcMin = std::max(pcMin, 1.0);
+        }
+
         gnuplotpcsw_.setXRange(lowerSat, upperSat);
         gnuplotpcsw_.setYRange(pcMin, pcMax);
         gnuplotpcsw_.setXlabel("wetting phase saturation [-]");