diff --git a/dumux/multidomain/facet/box/couplingmanager.hh b/dumux/multidomain/facet/box/couplingmanager.hh
index dbfe8ab4d49885239991fe0d65b2fe73b24b44b1..d641a3ffd802b20efaa5bc4cddad4ca553c102f8 100644
--- a/dumux/multidomain/facet/box/couplingmanager.hh
+++ b/dumux/multidomain/facet/box/couplingmanager.hh
@@ -467,7 +467,7 @@ public:
             auto fvGeom = localView(ldGridGeometry);
             for (const auto lowDimElemIdx : elementStencil)
             {
-                const auto& ldSol = Assembler::isImplicit() ? this->curSol(lowDimId) : assembler.prevSol()[lowDimId];
+                const auto& ldSol = assembler.isImplicit() ? this->curSol(lowDimId) : assembler.prevSol()[lowDimId];
                 const auto elemJ = ldGridGeometry.element(lowDimElemIdx);
                 fvGeom.bindElement(elemJ);
 
@@ -526,7 +526,7 @@ public:
 
             for (unsigned int i = 0; i < numEmbedments; ++i)
             {
-                const auto& bulkSol = Assembler::isImplicit() ? this->curSol(bulkId) : assembler.prevSol()[bulkId];
+                const auto& bulkSol = assembler.isImplicit() ? this->curSol(bulkId) : assembler.prevSol()[bulkId];
                 const auto curBulkElem = bulkGridGeom.element(embedments[i].first);
 
                 bulkFvGeom.bind(curBulkElem);
@@ -563,7 +563,7 @@ public:
         // Since coupling only occurs via the fluxes, the context does not
         // have to be updated in explicit time discretization schemes, where
         // they are strictly evaluated on the old time level
-        if (!BulkLocalAssembler::isImplicit())
+        if (!bulkLocalAssembler.isImplicit())
             return;
 
         // skip the rest if context is empty
@@ -650,7 +650,7 @@ public:
         // Since coupling only occurs via the fluxes, the context does not
         // have to be updated in explicit time discretization schemes, where
         // they are strictly evaluated on the old time level
-        if (!LowDimLocalAssembler::isImplicit())
+        if (!lowDimLocalAssembler.isImplicit())
             return;
 
         // skip the rest if context is empty
@@ -709,7 +709,7 @@ public:
         // Since coupling only occurs via the fluxes, the context does not
         // have to be updated in explicit time discretization schemes, where
         // they are strictly evaluated on the old time level
-        if (!LowDimLocalAssembler::isImplicit())
+        if (!lowDimLocalAssembler.isImplicit())
             return;
 
         // skip the rest if context is empty
diff --git a/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh b/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh
index fc9a2f2fe5c948d4a1133b2a251267b9f356c3fe..4438c82afebe93d7e144c1ed3bcfad6df5a83e7b 100644
--- a/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh
+++ b/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh
@@ -424,7 +424,7 @@ public:
             auto fvGeom = localView(ldGridGeometry);
             for (const auto lowDimElemIdx : elementStencil)
             {
-                const auto& ldSol = Assembler::isImplicit() ? this->curSol(lowDimId) : assembler.prevSol()[lowDimId];
+                const auto& ldSol = assembler.isImplicit() ? this->curSol(lowDimId) : assembler.prevSol()[lowDimId];
                 const auto& ldProblem = this->problem(lowDimId);
 
                 const auto elemJ = ldGridGeometry.element(lowDimElemIdx);
@@ -484,12 +484,12 @@ public:
             bindCouplingContext(bulkId, bulkElem, assembler);
 
             // evaluate variables on old/new time level depending on time disc scheme
-            const auto& bulkSol = Assembler::isImplicit() ? this->curSol(bulkId) : assembler.prevSol()[bulkId];
+            const auto& bulkSol = assembler.isImplicit() ? this->curSol(bulkId) : assembler.prevSol()[bulkId];
 
             // then simply bind the local views of that first neighbor
             auto bulkFvGeom = localView(bulkGridGeom).bind(bulkElem);
-            auto bulkElemVolVars = Assembler::isImplicit() ? localView(assembler.gridVariables(bulkId).curGridVolVars()).bind(bulkElem, bulkFvGeom, bulkSol)
-                                                           : localView(assembler.gridVariables(bulkId).prevGridVolVars()).bind(bulkElem, bulkFvGeom, bulkSol);
+            auto bulkElemVolVars = assembler.isImplicit() ? localView(assembler.gridVariables(bulkId).curGridVolVars()).bind(bulkElem, bulkFvGeom, bulkSol)
+                                                          : localView(assembler.gridVariables(bulkId).prevGridVolVars()).bind(bulkElem, bulkFvGeom, bulkSol);
             auto bulkElemFluxVarsCache = localView(assembler.gridVariables(bulkId).gridFluxVarsCache()).bind(bulkElem, bulkFvGeom, bulkElemVolVars);
 
             lowDimContext_.isSet = true;
@@ -518,7 +518,7 @@ public:
         // Since coupling only occurs via the fluxes, the context does not
         // have to be updated in explicit time discretization schemes, where
         // they are strictly evaluated on the old time level
-        if (!BulkLocalAssembler::isImplicit())
+        if (!bulkLocalAssembler.isImplicit())
             return;
 
         // skip the rest if context is empty
@@ -615,7 +615,7 @@ public:
         // Since coupling only occurs via the fluxes, the context does not
         // have to be updated in explicit time discretization schemes, where
         // they are strictly evaluated on the old time level
-        if (!LowDimLocalAssembler::isImplicit())
+        if (!lowDimLocalAssembler.isImplicit())
             return;
 
         // skip the rest if context is empty
@@ -662,7 +662,7 @@ public:
         // Since coupling only occurs via the fluxes, the context does not
         // have to be updated in explicit time discretization schemes, where
         // they are strictly evaluated on the old time level
-        if (!LowDimLocalAssembler::isImplicit())
+        if (!lowDimLocalAssembler.isImplicit())
             return;
 
         // skip the rest if context is empty
@@ -718,7 +718,7 @@ public:
                                 UpdatableFluxVarCache& fluxVarsCache)
     {
         // update transmissibilities after low dim context has changed (implicit only)
-        if (BulkLocalAssembler::isImplicit())
+        if (bulkLocalAssembler.isImplicit())
             fluxVarsCache.update(bulkLocalAssembler.element(),
                                  bulkLocalAssembler.fvGeometry(),
                                  bulkLocalAssembler.curElemVolVars());
@@ -735,7 +735,7 @@ public:
                                 UpdatableFluxVarCache& fluxVarsCache)
     {
         // update transmissibilities after low dim context has changed (implicit only)
-        if (BulkLocalAssembler::isImplicit())
+        if (bulkLocalAssembler.isImplicit())
         {
             const auto elemVolVars = localView(gridVolVars).bind(bulkLocalAssembler.element(), bulkLocalAssembler.fvGeometry(), this->curSol(bulkId));
             fluxVarsCache.update(bulkLocalAssembler.element(), bulkLocalAssembler.fvGeometry(), elemVolVars);