diff --git a/dumux/discretization/cellcentered/mpfa/omethod/localassembler.hh b/dumux/discretization/cellcentered/mpfa/omethod/localassembler.hh
index 89032385b76dfda99885edd190f25712e7e25da8..21da128381c710fc1edbb1327ca2fe3245193506 100644
--- a/dumux/discretization/cellcentered/mpfa/omethod/localassembler.hh
+++ b/dumux/discretization/cellcentered/mpfa/omethod/localassembler.hh
@@ -195,8 +195,7 @@ private:
                 const auto& posLocalScv = iv.localScv(neighborScvIndices[0]);
                 const auto& posGlobalScv = this->fvGeometry().scv(posLocalScv.gridScvIndex());
                 const auto& posVolVars = this->elemVolVars()[posGlobalScv];
-                const auto& posElement = iv.element(neighborScvIndices[0]);
-                const auto tensor = getT(this->problem(), posElement, posVolVars, this->fvGeometry(), posGlobalScv);
+                const auto tensor = getT(posVolVars);
 
                 // the omega factors of the "positive" sub volume
                 Helper::resizeVector(wijk[faceIdx], /*no outside scvs present*/1);
@@ -232,8 +231,7 @@ private:
                 const auto& posLocalScv = iv.localScv(neighborScvIndices[0]);
                 const auto& posGlobalScv = this->fvGeometry().scv(posLocalScv.gridScvIndex());
                 const auto& posVolVars = this->elemVolVars()[posGlobalScv];
-                const auto& posElement = iv.element(neighborScvIndices[0]);
-                const auto tensor = getT(this->problem(), posElement, posVolVars, this->fvGeometry(), posGlobalScv);
+                const auto tensor = getT(posVolVars);
 
                 // the omega factors of the "positive" sub volume
                 Helper::resizeVector(wijk[faceIdx], neighborScvIndices.size());
@@ -292,8 +290,7 @@ private:
                         const auto& negLocalScv = iv.localScv( neighborScvIndices[idxOnScvf] );
                         const auto& negGlobalScv = this->fvGeometry().scv(negLocalScv.gridScvIndex());
                         const auto& negVolVars = this->elemVolVars()[negGlobalScv];
-                        const auto& negElement = iv.element( neighborScvIndices[idxOnScvf] );
-                        const auto negTensor = getT(this->problem(), negElement, negVolVars, this->fvGeometry(), negGlobalScv);
+                        const auto negTensor = getT(negVolVars);
 
                         // On surface grids, use outside face for "negative" transmissibility calculation
                         const auto& scvf = dim < dimWorld ? this->fvGeometry().flipScvf(curGlobalScvf.index(), idxInOutside)
diff --git a/dumux/discretization/cellcentered/mpfa/tensorlambdafactory.hh b/dumux/discretization/cellcentered/mpfa/tensorlambdafactory.hh
index f7fb465e299a2c073b0594700a0e7cc8c5d14f5e..c40a46ddc9f5e856e103e53cc41360f1a67d21e0 100644
--- a/dumux/discretization/cellcentered/mpfa/tensorlambdafactory.hh
+++ b/dumux/discretization/cellcentered/mpfa/tensorlambdafactory.hh
@@ -61,11 +61,7 @@ public:
     //! return void lambda here
     static auto getAdvectionLambda()
     {
-        return [] (const auto& problem,
-                   const auto& element,
-                   const auto& volVars,
-                   const auto& fvGeometry,
-                   const auto& scv)
+        return [] (const auto& volVars)
                { return volVars.permeability(); };
     }
 
@@ -73,11 +69,7 @@ public:
     template<class EffDiffModel>
     static auto getDiffusionLambda(unsigned int phaseIdx, unsigned int compIdx)
     {
-        return [phaseIdx, compIdx] (const auto& problem,
-                                    const auto& element,
-                                    const auto& volVars,
-                                    const auto& fvGeometry,
-                                    const auto& scv)
+        return [phaseIdx, compIdx] (const auto& volVars)
                { return Deprecated::template effectiveDiffusionCoefficient<EffDiffModel>(
                           volVars, phaseIdx, phaseIdx, compIdx); };
     }
@@ -86,13 +78,8 @@ public:
     template<class ThermalConductivityModel>
     static auto getHeatConductionLambda()
     {
-        return [] (const auto& problem,
-                   const auto& element,
-                   const auto& volVars,
-                   const auto& fvGeometry,
-                   const auto& scv)
-               { return Deprecated::template effectiveThermalConductivity<ThermalConductivityModel>(
-                          volVars, problem.spatialParams(), element, fvGeometry, scv); };
+        return [] (const auto& volVars)
+               { return volVars.effectiveThermalConductivity(); };
     }
 };
 
diff --git a/dumux/multidomain/facet/cellcentered/mpfa/couplingmanager.hh b/dumux/multidomain/facet/cellcentered/mpfa/couplingmanager.hh
index 73c1707a4d6af0a73a191b30e91520392956e466..d5dbbdd8b835477cbb5c9d6a23066ea9c47b9844 100644
--- a/dumux/multidomain/facet/cellcentered/mpfa/couplingmanager.hh
+++ b/dumux/multidomain/facet/cellcentered/mpfa/couplingmanager.hh
@@ -149,13 +149,7 @@ public:
         const auto& idxInContext = std::distance( s.begin(), std::find(s.begin(), s.end(), lowDimElemIdx) );
         assert(std::find(s.begin(), s.end(), lowDimElemIdx) != s.end());
 
-        const auto& lowDimProblem = this->problem(lowDimId);
-        const auto& lowDimElement = lowDimProblem.gridGeometry().element(lowDimElemIdx);
-        const auto& lowDimVolVars = this->bulkCouplingContext().lowDimVolVars[idxInContext];
-        const auto& lowDimFvGeometry = this->bulkCouplingContext().lowDimFvGeometries[idxInContext];
-
-        // we assume constant parameters on the element and use the first scv within the low dim element.
-        return getT(lowDimProblem, lowDimElement, lowDimVolVars, lowDimFvGeometry, *scvs(lowDimFvGeometry).begin());
+        return getT(this->bulkCouplingContext().lowDimVolVars[idxInContext]);
     }
 
     using ParentType::evalCouplingResidual;
diff --git a/dumux/multidomain/facet/cellcentered/mpfa/localassembler.hh b/dumux/multidomain/facet/cellcentered/mpfa/localassembler.hh
index a6e65c49b011de3002abbb5f89773cb954ab040f..65a56ea265bd44d429571c9930a932ad9764c187 100644
--- a/dumux/multidomain/facet/cellcentered/mpfa/localassembler.hh
+++ b/dumux/multidomain/facet/cellcentered/mpfa/localassembler.hh
@@ -324,7 +324,7 @@ private:
                 const auto& posGlobalScv = this->fvGeometry().scv(posLocalScv.gridScvIndex());
                 const auto& posVolVars = this->elemVolVars()[posGlobalScv];
                 const auto& posElement = iv.element(neighborScvIndices[0]);
-                const auto tensor = getT(this->problem(), posElement, posVolVars, this->fvGeometry(), posGlobalScv);
+                const auto tensor = getT(posVolVars);
 
                 // the omega factors of the "positive" sub volume
                 Helper::resizeVector(wijk[faceIdx], /*no outside scvs present*/1);
@@ -363,7 +363,7 @@ private:
                 const auto& posGlobalScv = this->fvGeometry().scv(posLocalScv.gridScvIndex());
                 const auto& posVolVars = this->elemVolVars()[posGlobalScv];
                 const auto& posElement = iv.element(neighborScvIndices[0]);
-                const auto tensor = getT(this->problem(), posElement, posVolVars, this->fvGeometry(), posGlobalScv);
+                const auto tensor = getT(posVolVars);
 
                 // the omega factors of the "positive" sub volume
                 Helper::resizeVector(wijk[faceIdx], neighborScvIndices.size());
@@ -429,7 +429,7 @@ private:
                         const auto& negGlobalScv = this->fvGeometry().scv(negLocalScv.gridScvIndex());
                         const auto& negVolVars = this->elemVolVars()[negGlobalScv];
                         const auto& negElement = iv.element( neighborScvIndices[idxOnScvf] );
-                        const auto negTensor = getT(this->problem(), negElement, negVolVars, this->fvGeometry(), negGlobalScv);
+                        const auto negTensor = getT(negVolVars);
 
                         // On surface grids, use outside face for "negative" transmissibility calculation
                         const auto& scvf = dim < dimWorld ? this->fvGeometry().flipScvf(curGlobalScvf.index(), idxInOutside)