diff --git a/dumux/porousmediumflow/2pdfm/implicit/volumevariables.hh b/dumux/porousmediumflow/2pdfm/implicit/volumevariables.hh
index 4cc216aea564cbef11ee05e4036727725997302a..1102f67961913975ddce2a62f3d2185c063d92d3 100644
--- a/dumux/porousmediumflow/2pdfm/implicit/volumevariables.hh
+++ b/dumux/porousmediumflow/2pdfm/implicit/volumevariables.hh
@@ -211,6 +211,20 @@ public:
         porosityFracture_ = problem.spatialParams().porosityFracture(element,
                                                                   fvGeometry,
                                                                   scvIdx);
+
+        // After modifying the Matrix saturations we have to update the fluid state and the matrix mobilities
+        PrimaryVariables updatedMatrixPV;
+        updatedMatrixPV[pressureIdx] = priVars[pressureIdx];
+        updatedMatrixPV[saturationIdx] = satWMatrix_;
+        this->completeFluidState(priVars, problem, element, fvGeometry, scvIdx, fluidState_);
+
+        mobilityMatrix_[wPhaseIdx] =
+            MaterialLaw::krw(materialParamsMatrix, satWMatrix_)
+            / fluidState_.viscosity(wPhaseIdx);
+
+        mobilityMatrix_[nPhaseIdx] =
+            MaterialLaw::krn(materialParamsMatrix, satWMatrix_)
+            / fluidState_.viscosity(nPhaseIdx);
     }
 
     /*!