diff --git a/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh b/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh
index 7f2daf193bd942a56142922f96bcd10c02d240c3..984ffae108016a55823f1bee36cbf491dba3bd79 100644
--- a/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh
+++ b/dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p.hh
@@ -118,7 +118,8 @@ template<class TypeTag> class MimeticPressure2P
     ///@endcond
 
     typedef typename GET_PROP_TYPE(TypeTag, PressureCoefficientMatrix) Matrix;
-    typedef typename GET_PROP_TYPE(TypeTag, PressureRHSVector) Vector;
+    typedef typename GET_PROP_TYPE(TypeTag, PressureRHSVector) RHSVector;
+    typedef typename GET_PROP_TYPE(TypeTag, PressureSolutionVector) PressureSolution;
 
     //initializes the matrix to store the system of equations
     void initializeMatrix();
@@ -172,9 +173,11 @@ public:
         f_.resize(problem_.gridView().size(1));//resize to make sure the final grid size (after the problem was completely built) is used!
         pressure_.resize(problem_.gridView().size(0));
         pressTrace_.resize(problem_.gridView().size(1));
+        normalVelocity_.resize(problem_.gridView().size(0)),
         pressure_ = 0;
         pressTrace_ = 0;
         f_ = 0;
+        normalVelocity_ = 0.0;
         assemble(true);
         solve();
         postprocess();
@@ -276,10 +279,6 @@ public:
      */
     MimeticPressure2P(Problem& problem) :
     problem_(problem),
-    pressure_(problem.gridView().size(0)),
-    pressTrace_(problem.gridView().size(1)),
-    normalVelocity_(problem.gridView().size(0)),
-    f_(problem.gridView().size(1)),
     A_(problem.gridView())
     {
         if (pressureType != pglobal)
@@ -307,9 +306,9 @@ public:
 private:
     Problem& problem_;
     ScalarSolution pressure_;
-    TraceType pressTrace_; //!< vector of pressure traces
+    PressureSolution pressTrace_; //!< vector of pressure traces
     NormalVelType normalVelocity_;
-    TraceType f_;
+    RHSVector f_;
     OperatorAssembler A_;
 
     Scalar density_[numPhases];
diff --git a/dumux/decoupled/common/fv/fvpressure.hh b/dumux/decoupled/common/fv/fvpressure.hh
index 75e1a82463adee45dddff3971aa905ef5359d2af..667c54085635356705d64a218583119ca7721e3d 100644
--- a/dumux/decoupled/common/fv/fvpressure.hh
+++ b/dumux/decoupled/common/fv/fvpressure.hh
@@ -181,6 +181,7 @@ public:
     {
         size_ = problem_.gridView().size(0);//resize to make sure the final grid size (after the problem was completely built) is used!
         A_.setSize(size_, size_);
+        A_.setBuildMode(Matrix::random);
         f_.resize(size_);
         pressure_.resize(size_);
         asImp_().initializeMatrix();// initialize sparse matrix
@@ -259,7 +260,6 @@ public:
      */
     FVPressure(Problem& problem) :
     problem_(problem), size_(problem.gridView().size(0)),
-    pressure_(size_), A_(size_, size_, Matrix::random), f_(size_),
     fixPressureAtIndex_(0),
     idxFixPressureAtIndex_(0),
     hasFixPressureAtIndex_(false)