diff --git a/dumux/porousmediumflow/richards/implicit/volumevariables.hh b/dumux/porousmediumflow/richards/implicit/volumevariables.hh
index 37e333874adb36f0115024de9ddea56ce8813b35..6ec19868682e58e97eae7eca486ab5c96473b8e8 100644
--- a/dumux/porousmediumflow/richards/implicit/volumevariables.hh
+++ b/dumux/porousmediumflow/richards/implicit/volumevariables.hh
@@ -198,8 +198,10 @@ public:
         const auto& priVars = ParentType::extractDofPriVars(elemSol, scv);
 
         // set the wetting pressure
+        using std::max;
+        Scalar minPc = MaterialLaw::pc(materialParams, 1.0);
         fluidState.setPressure(wPhaseIdx, priVars[pressureIdx]);
-        fluidState.setPressure(nPhaseIdx, problem.nonWettingReferencePressure());
+        fluidState.setPressure(nPhaseIdx, max(problem.nonWettingReferencePressure(), fluidState.pressure(wPhaseIdx) + minPc));
 
         // compute the capillary pressure to compute the saturation
         // make sure that we the capillary pressure is not smaller than the minimum pc
diff --git a/test/porousmediumflow/richards/implicit/CMakeLists.txt b/test/porousmediumflow/richards/implicit/CMakeLists.txt
index a7baf2d5ce9de309d865e085a76f7eafb90bf724..36aed5fe8a06eddab537925f1b9684e68d81bb2a 100644
--- a/test/porousmediumflow/richards/implicit/CMakeLists.txt
+++ b/test/porousmediumflow/richards/implicit/CMakeLists.txt
@@ -36,7 +36,7 @@ dune_add_test(SOURCES test_ccrichardsanalytical.cc
               COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
               CMD_ARGS --script fuzzy
                        --files ${CMAKE_SOURCE_DIR}/test/references/richardsanalyticalcc-reference.vtu
-                               ${CMAKE_CURRENT_BINARY_DIR}/richardsanalyticalcc-00000.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsanalytical-00002.vtu
                        --command "${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsanalytical test_ccrichardsanalytical.input -Problem.Name test_ccrichardsanalytical")
 # non-isothermal tests
 dune_add_test(SOURCES test_richardsniconvection_fv.cc
@@ -45,9 +45,9 @@ dune_add_test(SOURCES test_richardsniconvection_fv.cc
               COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
               CMD_ARGS --script fuzzy
                        --files ${CMAKE_SOURCE_DIR}/test/references/richardsniconvectionbox-reference.vtu
-                               ${CMAKE_CURRENT_BINARY_DIR}/test_boxrichardsniconvection-00010.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/test_boxrichardsniconvection-00044.vtu
                        --command "${CMAKE_CURRENT_BINARY_DIR}/test_boxrichardsniconvection test_richardsniconvection.input -Problem.Name test_boxrichardsniconvection"
-                       --zeroThreshold {"velocity":1e-16})
+                      )
 
 dune_add_test(SOURCES test_richardsniconvection_fv.cc
               NAME test_ccrichardsniconvection
@@ -55,7 +55,7 @@ dune_add_test(SOURCES test_richardsniconvection_fv.cc
               COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
               CMD_ARGS --script fuzzy
                        --files ${CMAKE_SOURCE_DIR}/test/references/richardsniconvectioncc-reference.vtu
-                               ${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsniconvection-00010.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsniconvection-00043.vtu
                        --command "${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsniconvection test_richardsniconvection.input -Problem.Name test_ccrichardsniconvection")
 
 dune_add_test(SOURCES test_richardsniconduction_fv.cc
@@ -64,9 +64,9 @@ dune_add_test(SOURCES test_richardsniconduction_fv.cc
               COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
               CMD_ARGS --script fuzzy
                        --files ${CMAKE_SOURCE_DIR}/test/references/richardsniconductionbox-reference.vtu
-                               ${CMAKE_CURRENT_BINARY_DIR}/test_boxrichardsniconduction-00006.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/test_boxrichardsniconduction-00024.vtu
                        --command "${CMAKE_CURRENT_BINARY_DIR}/test_boxrichardsniconduction test_richardsniconduction.input -Problem.Name test_boxrichardsniconduction"
-                       --zeroThreshold {"velocity":1e-8})
+                        )
 
 dune_add_test(SOURCES test_richardsniconduction_fv.cc
               NAME test_ccrichardsniconduction
@@ -74,9 +74,9 @@ dune_add_test(SOURCES test_richardsniconduction_fv.cc
               COMMAND ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
               CMD_ARGS --script fuzzy
                        --files ${CMAKE_SOURCE_DIR}/test/references/richardsniconductioncc-reference.vtu
-                               ${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsniconduction-00006.vtu
+                               ${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsniconduction-00024.vtu
                        --command "${CMAKE_CURRENT_BINARY_DIR}/test_ccrichardsniconduction test_richardsniconduction.input -Problem.Name test_ccrichardsniconduction"
-                       --zeroThreshold {"velocity":1e-8})
+                      )
 
 #install sources
 install(FILES
diff --git a/test/porousmediumflow/richards/implicit/test_ccrichardsanalytical.cc b/test/porousmediumflow/richards/implicit/test_ccrichardsanalytical.cc
index 15e81010c0414096a7aa8f4c119fac24d1b9e8a5..a0ebdd0332eb64174b865884c5d65be16853fb1c 100644
--- a/test/porousmediumflow/richards/implicit/test_ccrichardsanalytical.cc
+++ b/test/porousmediumflow/richards/implicit/test_ccrichardsanalytical.cc
@@ -197,6 +197,7 @@ int main(int argc, char** argv) try
         timeLoop->advanceTimeStep();
 
         // write vtk output
+        if(timeLoop->willBeFinished())
         vtkWriter.write(timeLoop->time());
 
         // report statistics of this time step