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