diff --git a/dumux/assembly/staggeredfvassembler.hh b/dumux/assembly/staggeredfvassembler.hh
index 710d42ef6b164002188a743f51782195507f2f24..4197bcdca1c69195efb7dc5100f67ad808902446 100644
--- a/dumux/assembly/staggeredfvassembler.hh
+++ b/dumux/assembly/staggeredfvassembler.hh
@@ -166,6 +166,9 @@ public:
         if (!stationary_ && localResidual_.isStationary())
             DUNE_THROW(Dune::InvalidStateException, "Assembling instationary problem but previous solution was not set!");
 
+        // update the grid variables for the case of active caching
+        gridVariables_->update(curSol);
+
         // let the local assembler add the element contributions
         for (const auto& element : elements(gridView()))
             LocalAssembler::assembleResidual(*this, r, element, curSol);