diff --git a/test/porousmediumflow/2pnc/implicit/diffusion/params.input b/test/porousmediumflow/2pnc/implicit/diffusion/params.input
index b658cedc1385c9db7beeee5d4cb8e7e06510140a..49248e5f84fe1c3b7c283f2a867bf4e40662efab 100644
--- a/test/porousmediumflow/2pnc/implicit/diffusion/params.input
+++ b/test/porousmediumflow/2pnc/implicit/diffusion/params.input
@@ -9,3 +9,9 @@ Cells = 50 5
 [Problem]
 Name = 2pnc_diffusion
 EnableGravity = false
+
+[SpatialParams]
+BrooksCoreyPcEntry = 1e2
+BrooksCoreyLambda = 1.3
+Swr = 0.02
+Snr = 0.0
diff --git a/test/porousmediumflow/2pnc/implicit/diffusion/spatialparams.hh b/test/porousmediumflow/2pnc/implicit/diffusion/spatialparams.hh
index dcbcfce6cf24771446ac4fcd4cead35bba358a57..d2bfb0e8743d0cfc5114ce3bd7d127bafc3962ba 100644
--- a/test/porousmediumflow/2pnc/implicit/diffusion/spatialparams.hh
+++ b/test/porousmediumflow/2pnc/implicit/diffusion/spatialparams.hh
@@ -28,10 +28,7 @@
 
 #include <dumux/porousmediumflow/properties.hh>
 #include <dumux/material/spatialparams/fv.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
+#include <dumux/material/fluidmatrixinteractions/2p/brookscorey.hh>
 
 namespace Dumux {
 /*!
@@ -55,33 +52,22 @@ class TwoPNCDiffusionSpatialParams
 
     using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>;
 
-    using EffectiveLaw = RegularizedBrooksCorey<Scalar>;
+    using PcKrSwCurve = FluidMatrix::BrooksCoreyDefault<Scalar>;
 
 public:
     using PermeabilityType = DimWorldMatrix;
 
-    using MaterialLaw = EffToAbsLaw<EffectiveLaw>;
-    using MaterialLawParams = typename MaterialLaw::Params;
-
     TwoPNCDiffusionSpatialParams(std::shared_ptr<const GridGeometry> gridGeometry)
-    : ParentType(gridGeometry), K_(0)
+    : ParentType(gridGeometry)
+    , K_(0)
+    , pcKrSwCurve_("SpatialParams")
     {
         // intrinsic permeabilities
         K_[0][0] = 5e-11;
         K_[1][1] = 5e-11;
-
-        // porosities
-        porosity_ = 0.2;
-
-        // residual saturations
-        materialParams_.setSwr(0.02);
-        materialParams_.setSnr(0.0);
-
-        // parameters for the vanGenuchten law
-        materialParams_.setPe(1e2); // alpha = 1/pcb
-        materialParams_.setLambda(1.3);
     }
 
+
     /*!
      * \brief Returns the hydraulic conductivity \f$[m^2]\f$
      *
@@ -99,13 +85,15 @@ public:
     { return 0.2; }
 
     /*!
-     * \brief Returns the parameter object for the Brooks-Corey material law
-     * which depends on the position.
+     * \brief Returns the parameters for the material law at a given location
      *
-     * \param globalPos The global position
+     * This method is not actually required by the Richards model, but provided
+     * for the convenience of the RichardsLensProblem
+     *
+     * \param globalPos The global coordinates for the given location
      */
-    const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const
-    { return materialParams_; }
+    auto fluidMatrixInteractionAtPos(const GlobalPosition& globalPos) const
+    {   return makeFluidMatrixInteraction(pcKrSwCurve_); }
 
     /*!
      * \brief Function for defining which phase is to be considered as the wetting phase.
@@ -119,9 +107,8 @@ public:
 
 private:
     DimWorldMatrix K_;
-    Scalar porosity_;
     static constexpr Scalar eps_ = 1e-6;
-    MaterialLawParams materialParams_;
+    const PcKrSwCurve pcKrSwCurve_;
 };
 
 } // end namespace Dumux
diff --git a/test/porousmediumflow/2pnc/implicit/fuelcell/params.input b/test/porousmediumflow/2pnc/implicit/fuelcell/params.input
index 39d050f5a1ba930ff3d52dc19f83cd081c584b64..e26db822b16aab8511ba3e64c0ad795702e74efb 100644
--- a/test/porousmediumflow/2pnc/implicit/fuelcell/params.input
+++ b/test/porousmediumflow/2pnc/implicit/fuelcell/params.input
@@ -42,3 +42,9 @@ SurfaceIncreasingFactor = 60
 TransportNumberH20 = 0.2327             # [-] account for osmotic H20 transport term from membrane, value Lena Walter
 pO2Inlet = 0.3e5                        # [Pa] partial pressure of oxygen at gas channel inlet
 MaxIterations = 300                     # [-] Maximum number for iterations for solving electrochemical system
+
+[SpatialParams]
+VanGenuchtenN = 3.652
+VanGenuchtenAlpha = 6.66e-5
+Swr = 0.12
+Snr = 0.0
diff --git a/test/porousmediumflow/2pnc/implicit/fuelcell/spatialparams.hh b/test/porousmediumflow/2pnc/implicit/fuelcell/spatialparams.hh
index 33c29ca340550653c509913c931e517768884016..6efbf239cb2e32939981a7a067177a27e9155bcf 100644
--- a/test/porousmediumflow/2pnc/implicit/fuelcell/spatialparams.hh
+++ b/test/porousmediumflow/2pnc/implicit/fuelcell/spatialparams.hh
@@ -28,10 +28,7 @@
 
 #include <dumux/porousmediumflow/properties.hh>
 #include <dumux/material/spatialparams/fv.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/regularizedvangenuchten.hh>
-#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
+#include <dumux/material/fluidmatrixinteractions/2p/vangenuchten.hh>
 
 namespace Dumux {
 /*!
@@ -55,30 +52,19 @@ class FuelCellSpatialParams
 
     using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>;
 
-    using EffectiveLaw = RegularizedVanGenuchten<Scalar>;
+    using PcKrSwCurve = FluidMatrix::VanGenuchtenDefault<Scalar>;
 
 public:
-    using MaterialLaw = EffToAbsLaw<EffectiveLaw>;
-    using MaterialLawParams = typename MaterialLaw::Params;
     using PermeabilityType = DimWorldMatrix;
 
     FuelCellSpatialParams(std::shared_ptr<const GridGeometry> gridGeometry)
-    : ParentType(gridGeometry), K_(0)
+    : ParentType(gridGeometry)
+    , K_(0)
+    , pcKrSwCurve_("SpatialParams")
     {
         // intrinsic permeabilities
         K_[0][0] = 5e-11;
         K_[1][1] = 5e-11;
-
-        // porosities
-        porosity_ = 0.2;
-
-        // residual saturations
-        materialParams_.setSwr(0.12); // air is wetting phase
-        materialParams_.setSnr(0.0); // water is nonwetting
-
-        //parameters for the vanGenuchten law
-        materialParams_.setVgAlpha(6.66e-5); // alpha = 1/pcb
-        materialParams_.setVgn(3.652);
     }
 
     /*!
@@ -95,21 +81,16 @@ public:
      * \param globalPos The global position
      */
     Scalar porosityAtPos(const GlobalPosition& globalPos) const
-    {
-        if (globalPos[1] < eps_)
-            return porosity_;
-        else
-            return 0.2;
-    }
+    { return 0.2; }
 
     /*!
-     * \brief Returns the parameter object for the Brooks-Corey material law
-     * which depends on the position.
-     *
-     * \param globalPos The global position
+     * \brief Returns the parameters for the material law at a given location
+     * \param globalPos A global coordinate vector
      */
-    const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const
-    { return materialParams_; }
+    auto fluidMatrixInteractionAtPos(const GlobalPosition &globalPos) const
+    {
+        return makeFluidMatrixInteraction(pcKrSwCurve_);
+    }
 
     /*!
      * \brief Function for defining which phase is to be considered as the wetting phase.
@@ -124,9 +105,8 @@ public:
 
 private:
     DimWorldMatrix K_;
-    Scalar porosity_;
     static constexpr Scalar eps_ = 1e-6;
-    MaterialLawParams materialParams_;
+    const PcKrSwCurve pcKrSwCurve_;
 };
 
 } // end namespace Dumux