diff --git a/dumux/assembly/cclocalassembler.hh b/dumux/assembly/cclocalassembler.hh
index 37e51257d379532d0b23debe41745d4af85c922d..9a9b8168e246e8cc6ae78c09022695a96db0926d 100644
--- a/dumux/assembly/cclocalassembler.hh
+++ b/dumux/assembly/cclocalassembler.hh
@@ -284,7 +284,7 @@ public:
                 {
                     if (internalDirichletConstraintsOwnElement[eqIdx])
                     {
-                        origResiduals[0][eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        origResiduals[0][eqIdx] = origVolVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
                     }
                     else
@@ -454,7 +454,7 @@ public:
                 {
                     if (internalDirichletConstraints[eqIdx])
                     {
-                        residual[eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        residual[eqIdx] = origVolVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
                     }
                     else
@@ -579,7 +579,7 @@ public:
                 {
                     if (internalDirichletConstraints[eqIdx])
                     {
-                        residual[eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        residual[eqIdx] = volVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
 
                         // inner faces
@@ -660,7 +660,7 @@ public:
                 {
                     if (internalDirichletConstraints[eqIdx])
                     {
-                        residual[eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        residual[eqIdx] = volVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
                     }
                 }
diff --git a/dumux/multidomain/subdomaincclocalassembler.hh b/dumux/multidomain/subdomaincclocalassembler.hh
index a4657ac225a24e6c0027d334a28d44ba2d3095de..12bd85cde509f826da298afd5c710cb876421fec 100644
--- a/dumux/multidomain/subdomaincclocalassembler.hh
+++ b/dumux/multidomain/subdomaincclocalassembler.hh
@@ -415,7 +415,7 @@ public:
                 {
                     if (internalDirichletConstraintsOwnElement[eqIdx])
                     {
-                        origResiduals[0][eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        origResiduals[0][eqIdx] = origVolVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
                     }
                     else
@@ -717,7 +717,7 @@ public:
                 {
                     if (internalDirichletConstraints[eqIdx])
                     {
-                        residual[eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        residual[eqIdx] = origVolVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
                     }
                     else
@@ -846,7 +846,7 @@ public:
                 {
                     if (internalDirichletConstraints[eqIdx])
                     {
-                        residual[eqIdx] = this->curElemVolVars()[scv].priVars()[eqIdx] - dirichletValues[eqIdx];
+                        residual[eqIdx] = volVars.priVars()[eqIdx] - dirichletValues[eqIdx];
                         A[globalI][globalI][eqIdx][pvIdx] = (eqIdx == pvIdx) ? 1.0 : 0.0;
 
                         // inner faces