diff --git a/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc b/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc
index 7ef24730c3b591cc8a312b37cec2e18d4048c2b2..a2704d6b02dfad7cefceac1d537a2b3383c65626 100644
--- a/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc
+++ b/test/porousmediumflow/2p/implicit/adaptive/test_2p_adaptive_fv.cc
@@ -155,8 +155,8 @@ int main(int argc, char** argv) try
         // update grid data after adaption
         if (wasAdapted)
         {
-            xOld = x;                         //!< Overwrite the old solution with the new (resized & interpolated) one
-            gridVariables->init(x, xOld);     //!< Initialize the secondary variables to the new (and "new old") solution
+            xOld = x; //!< Overwrite the old solution with the new (resized & interpolated) one
+            gridVariables->updateAfterGridAdaption(x); //!< Initialize the secondary variables to the new (and "new old") solution
             problem->computePointSourceMap(); //!< Update the point source map
         }
     }
@@ -171,8 +171,8 @@ int main(int argc, char** argv) try
     // update grid data after adaption
     if (wasAdapted)
     {
-        xOld = x;                         //!< Overwrite the old solution with the new (resized & interpolated) one
-        gridVariables->init(x, xOld);     //!< Initialize the secondary variables to the new (and "new old") solution
+        xOld = x; //!< Overwrite the old solution with the new (resized & interpolated) one
+        gridVariables->updateAfterGridAdaption(x); //!< Initialize the secondary variables to the new (and "new old") solution
         problem->computePointSourceMap(); //!< Update the point source map
     }
 
@@ -226,10 +226,10 @@ int main(int argc, char** argv) try
             if (wasAdapted)
             {
                 // Note that if we were using point sources, we would have to update the map here as well
-                xOld = x;                         //!< Overwrite the old solution with the new (resized & interpolated) one
-                assembler->setJacobianPattern();  //!< Tell the assembler to resize the matrix and set pattern
-                assembler->setResidualSize();     //!< Tell the assembler to resize the residual
-                gridVariables->init(x, xOld);     //!< Initialize the secondary variables to the new (and "new old") solution
+                xOld = x; //!< Overwrite the old solution with the new (resized & interpolated) one
+                assembler->setJacobianPattern(); //!< Tell the assembler to resize the matrix and set pattern
+                assembler->setResidualSize(); //!< Tell the assembler to resize the residual
+                gridVariables->updateAfterGridAdaption(x); //!< Initialize the secondary variables to the new (and "new old") solution
                 problem->computePointSourceMap(); //!< Update the point source map
             }
         }