diff --git a/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc b/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc
index 3d488de44a6198eab4ba04c5e08eda89e529d319..ec15de9b663f5d11ae9290e4cf0f3d40512e84eb 100644
--- a/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc
+++ b/test/porousmediumflow/1p/implicit/incompressible/test_1pfv.cc
@@ -118,7 +118,7 @@ int main(int argc, char** argv) try
     // we solve Ax = -r to save update and copy
     (*r) *= -1.0;
 
-    // // solve the linear system
+    // solve the linear system
     Dune::Timer solverTimer;
     using LinearSolver = SSORCGBackend<TypeTag>;
     auto linearSolver = std::make_shared<LinearSolver>();
@@ -128,6 +128,11 @@ int main(int argc, char** argv) try
     solverTimer.stop();
     if (mpiHelper.rank() == 0) std::cout << " took " << solverTimer.elapsed() << " seconds." << std::endl;
 
+    // the grid variables need to be up to date for subsequent output
+    Dune::Timer updateTimer; std::cout << "Updating variables ..." << std::flush;
+    gridVariables->update(x);
+    updateTimer.elapsed(); std::cout << " took " << updateTimer.elapsed() << std::endl;
+
     // output result to vtk
     vtkWriter.write(1.0);