diff --git a/test/porousmediumflow/2p2c/implicit/waterair/params.input b/test/porousmediumflow/2p2c/implicit/waterair/params.input
index 14fd8b735969e415c12a05115e9509a3c31190b8..d9191a92bb2ccf2a9ebb40f40c2d005173f68dd4 100644
--- a/test/porousmediumflow/2p2c/implicit/waterair/params.input
+++ b/test/porousmediumflow/2p2c/implicit/waterair/params.input
@@ -24,3 +24,9 @@ MaxRelativeShift = 1e-13
 SolidDensity = 2700
 SolidThermalConductivity = 2.8
 SolidHeatCapacity = 790
+
+[SpatialParams]
+BrooksCoreyPcEntry = 1e4
+BrooksCoreyLambda = 2
+Swr = 0.2
+Snr = 0.0
diff --git a/test/porousmediumflow/2p2c/implicit/waterair/problem.hh b/test/porousmediumflow/2p2c/implicit/waterair/problem.hh
index 3cdd37b7fbc5786b3384c1a4b018b8ecc1da098c..89dd1fdf7f185a6ab6883ee874ae5edfdd2891dd 100644
--- a/test/porousmediumflow/2p2c/implicit/waterair/problem.hh
+++ b/test/porousmediumflow/2p2c/implicit/waterair/problem.hh
@@ -266,9 +266,8 @@ public:
             values[contiN2EqIdx] = useMoles ? -1e-3/FluidSystem::molarMass(N2Idx) : -1e-3; // kg/(m^2*s) or mole/(m^2*s)
 
             const auto initialValues = initial_(globalPos);
-            const auto& mParams = this->spatialParams().materialLawParamsAtPos(globalPos);
-            using MaterialLaw = typename ParentType::SpatialParams::MaterialLaw;
-            const auto pn = initialValues[pressureIdx] + MaterialLaw::endPointPc(mParams);
+            const auto& fluidMatrixInteraction = this->spatialParams().fluidMatrixInteractionAtPos(globalPos);
+            const auto pn = initialValues[pressureIdx] + fluidMatrixInteraction.endPointPc();
             const auto t = initialValues[temperatureIdx];
 
             // note: energy equation is always formulated in terms of mass specific quantities, not per mole
diff --git a/test/porousmediumflow/2p2c/implicit/waterair/spatialparams.hh b/test/porousmediumflow/2p2c/implicit/waterair/spatialparams.hh
index f39d59d99c6f8e0953ee080b8d84d89d76fc0938..138079d15f3b9b4afb3569f4b53255311c9d400d 100644
--- a/test/porousmediumflow/2p2c/implicit/waterair/spatialparams.hh
+++ b/test/porousmediumflow/2p2c/implicit/waterair/spatialparams.hh
@@ -24,14 +24,14 @@
 #ifndef DUMUX_WATER_AIR_SPATIAL_PARAMS_HH
 #define DUMUX_WATER_AIR_SPATIAL_PARAMS_HH
 
+#include <dumux/common/math.hh>
 #include <dumux/io/gnuplotinterface.hh>
 #include <dumux/io/ploteffectivediffusivitymodel.hh>
-#include <dumux/io/plotmateriallaw.hh>
+#include <dumux/io/plotpckrsw.hh>
 #include <dumux/io/plotthermalconductivitymodel.hh>
 #include <dumux/porousmediumflow/properties.hh>
 #include <dumux/material/spatialparams/fv.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
+#include <dumux/material/fluidmatrixinteractions/2p/brookscorey.hh>
 
 namespace Dumux {
 
@@ -52,15 +52,16 @@ class WaterAirSpatialParams
     static constexpr int dimWorld = GridView::dimensionworld;
     using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
 
+    using PcKrSwCurve = FluidMatrix::BrooksCoreyDefault<Scalar>;
+
 public:
     //! Export the type used for the permeability
     using PermeabilityType = Scalar;
-    //! Export the type used for the material law
-    using MaterialLaw = EffToAbsLaw<RegularizedBrooksCorey<Scalar>>;
-    using MaterialLawParams = typename MaterialLaw::Params;
+
 
     WaterAirSpatialParams(std::shared_ptr<const GridGeometry> gridGeometry)
     : ParentType(gridGeometry)
+    , pcKrSwCurve_("SpatialParams")
     {
         layerBottom_ = 22.0;
 
@@ -72,18 +73,6 @@ public:
         finePorosity_ = 0.3;
         coarsePorosity_ = 0.3;
 
-        // residual saturations
-        fineMaterialParams_.setSwr(0.2);
-        fineMaterialParams_.setSnr(0.0);
-        coarseMaterialParams_.setSwr(0.2);
-        coarseMaterialParams_.setSnr(0.0);
-
-        // parameters for the Brooks-Corey law
-        fineMaterialParams_.setPe(1e4);
-        coarseMaterialParams_.setPe(1e4);
-        fineMaterialParams_.setLambda(2.0);
-        coarseMaterialParams_.setLambda(2.0);
-
         plotFluidMatrixInteractions_ = getParam<bool>("Output.PlotFluidMatrixInteractions");
     }
 
@@ -93,18 +82,21 @@ public:
      */
     void plotMaterialLaw()
     {
-        PlotMaterialLaw<Scalar, MaterialLaw> plotMaterialLaw;
         GnuplotInterface<Scalar> gnuplot(plotFluidMatrixInteractions_);
         gnuplot.setOpenPlotWindow(plotFluidMatrixInteractions_);
-        plotMaterialLaw.addpcswcurve(gnuplot, fineMaterialParams_, 0.2, 1.0, "fine", "w lp");
-        plotMaterialLaw.addpcswcurve(gnuplot, coarseMaterialParams_, 0.2, 1.0, "coarse", "w l");
+
+        const auto sw = linspace(0.2, 1.0, 1000);
+
+        const auto pc = samplePcSw(pcKrSwCurve_, sw);
+        Gnuplot::addPcSw(gnuplot, sw, pc, "pc-Sw", "w lp");
         gnuplot.setOption("set xrange [0:1]");
         gnuplot.setOption("set label \"residual\\nsaturation\" at 0.1,100000 center");
         gnuplot.plot("pc-Sw");
 
         gnuplot.resetAll();
-        plotMaterialLaw.addkrcurves(gnuplot, fineMaterialParams_, 0.2, 1.0, "fine");
-        plotMaterialLaw.addkrcurves(gnuplot, coarseMaterialParams_, 0.2, 1.0, "coarse");
+
+        const auto [krw, krn] = sampleRelPerms(makeFluidMatrixInteraction(pcKrSwCurve_), sw); // test wrapped law
+        Gnuplot::addRelPerms(gnuplot, sw, krw, krn, "kr-Sw", "w lp");
         gnuplot.plot("kr");
     }
 
@@ -134,17 +126,13 @@ public:
             return coarsePorosity_;
     }
 
-
     /*!
      * \brief Returns the parameters for the material law at a given location
      * \param globalPos The global coordinates for the given location
      */
-    const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const
+    auto fluidMatrixInteractionAtPos(const GlobalPosition& globalPos) const
     {
-        if (isFineMaterial_(globalPos))
-            return fineMaterialParams_;
-        else
-            return coarseMaterialParams_;
+        return makeFluidMatrixInteraction(pcKrSwCurve_);
     }
 
     /*!
@@ -168,8 +156,7 @@ private:
     Scalar finePorosity_;
     Scalar coarsePorosity_;
 
-    MaterialLawParams fineMaterialParams_;
-    MaterialLawParams coarseMaterialParams_;
+    const PcKrSwCurve pcKrSwCurve_;
 
     bool plotFluidMatrixInteractions_;
 };