diff --git a/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh b/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh
index ee92e33030a7f8c878bc8fd2ffd8f7ac529cbdad..29935706928e45b69c71899ad44039ec5846f9ce 100644
--- a/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh
+++ b/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh
@@ -189,45 +189,30 @@ private:
         // First we upate data which are not dependent on the physical processes.
         // We store pointers to the other flux var caches, so that we have to obtain
         // this data only once and can use it again in the sub-cache fillers.
-        if (forceUpdateAll)
-        {
-            const auto numGlobalScvfs = iv.localFaceData().size();
-            std::vector<const SubControlVolumeFace*> ivScvfs(numGlobalScvfs);
-            std::vector<FluxVariablesCache*> ivFluxVarCaches(numGlobalScvfs);
+        const auto numGlobalScvfs = iv.localFaceData().size();
+        std::vector<const SubControlVolumeFace*> ivScvfs(numGlobalScvfs);
+        std::vector<FluxVariablesCache*> ivFluxVarCaches(numGlobalScvfs);
 
-            unsigned int i = 0;
-            for (const auto& d : iv.localFaceData())
-            {
-                // obtain the scvf
-                const auto& scvfJ = fvGeometry().scvf(d.globalScvfIndex());
-                ivScvfs[i] = &scvfJ;
-                ivFluxVarCaches[i] = &fluxVarsCacheContainer[scvfJ];
-                ivFluxVarCaches[i]->setIvIndexInContainer(ivIndexInContainer);
-                ivFluxVarCaches[i]->setUpdateStatus(true);
-                i++;
-            }
+        unsigned int i = 0;
+        for (const auto& d : iv.localFaceData())
+        {
+            // obtain the scvf
+            const auto& scvfJ = fvGeometry().scvf(d.globalScvfIndex());
+            ivScvfs[i] = &scvfJ;
+            ivFluxVarCaches[i] = &fluxVarsCacheContainer[scvfJ];
+            ivFluxVarCaches[i]->setIvIndexInContainer(ivIndexInContainer);
+            ivFluxVarCaches[i]->setUpdateStatus(true);
+            i++;
+        }
 
+        if (forceUpdateAll)
+        {
             fillAdvection(fluxVarsCacheContainer, iv, handle, ivScvfs, ivFluxVarCaches);
             fillDiffusion(fluxVarsCacheContainer, iv, handle, ivScvfs, ivFluxVarCaches);
             fillHeatConduction(fluxVarsCacheContainer, iv, handle, ivScvfs, ivFluxVarCaches);
         }
         else
         {
-            const auto numGlobalScvfs = iv.localFaceData().size();
-            std::vector<const SubControlVolumeFace*> ivScvfs(numGlobalScvfs);
-            std::vector<FluxVariablesCache*> ivFluxVarCaches(numGlobalScvfs);
-
-            unsigned int i = 0;
-            for (const auto& d : iv.localFaceData())
-            {
-                // the iv index has been set already
-                const auto& scvfJ = fvGeometry().scvf(d.globalScvfIndex());
-                ivScvfs[i] = &scvfJ;
-                ivFluxVarCaches[i] = &fluxVarsCacheContainer[scvfJ];
-                ivFluxVarCaches[i]->setUpdateStatus(true);
-                i++;
-            }
-
             if (doAdvection && soldependentAdvection)
                 fillAdvection(fluxVarsCacheContainer, iv, handle, ivScvfs, ivFluxVarCaches);
             if (doDiffusion && soldependentDiffusion)