diff --git a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh
index 2fe54b415ecabd4f2ee3f06801fb7656705b39bf..f48d229325282b38388430f7a7b569a1bf269d4f 100644
--- a/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh
+++ b/dumux/mixeddimension/embedded/cellcentered/bboxtreecouplingmanagersimple.hh
@@ -86,7 +86,8 @@ class CCBBoxTreeEmbeddedCouplingManagerSimple
     using LowDimProblem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem);
     using LowDimPointSource = typename GET_PROP_TYPE(LowDimProblemTypeTag, PointSource);
     using LowDimPrimaryVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, PrimaryVariables);
-    using LowDimVolumeVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, VolumeVariables);
+    using LowDimElementSolutionVector = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementSolutionVector);
+    using LowDimVolumeVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, VolumeVariables);
     using LowDimElementVolumeVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementVolumeVariables);
     using LowDimFVElementGeometry = typename GET_PROP_TYPE(LowDimProblemTypeTag, FVElementGeometry);
     using LowDimElementBoundaryTypes = typename GET_PROP_TYPE(LowDimProblemTypeTag, ElementBoundaryTypes);
@@ -410,14 +411,15 @@ public:
     //! Compute lowDim volume variables for the identifier id
     LowDimVolumeVariables lowDimVolVars(unsigned int id) const
     {
-        const auto& data = pointSourceData_[id];
+        auto& data = pointSourceData_[id];
+        auto lowDimPriVars = data.interpolateLowDim(lowDimProblem().model().curSol());
+
         const auto element = lowDimProblem().model().globalFvGeometry().element(data.lowDimElementIdx());
         auto fvGeometry = localView(lowDimProblem().model().globalFvGeometry());
         fvGeometry.bindElement(element);
 
-        const auto& curSol = lowDimProblem().model().curSol();
         LowDimVolumeVariables volVars;
-        volVars.update(lowDimProblem().model().elementSolution(element, curSol),
+        volVars.update(LowDimElementSolutionVector({lowDimPriVars}),
                        lowDimProblem(),
                        element,
                        fvGeometry.scv(data.lowDimElementIdx()));
diff --git a/dumux/porousmediumflow/compositional/primaryvariableswitch.hh b/dumux/porousmediumflow/compositional/primaryvariableswitch.hh
index 72dd6919ae109444ab6117ccf4175ee264f552c7..e9485dd050ee2cd87babf38611d7bbb3db7d823c 100644
--- a/dumux/porousmediumflow/compositional/primaryvariableswitch.hh
+++ b/dumux/porousmediumflow/compositional/primaryvariableswitch.hh
@@ -194,7 +194,7 @@ public:
                     visited_[dofIdxGlobal] = true;
                     // Compute temporary volVars on which grounds we decide
                     // if we need to switch the primary variables
-                    auto&& volVars = curGlobalVolVars.volVars(scv);
+                    auto&& volVars = curGlobalVolVars.volVars(scv.index());
                     volVars.update(curElemSol, problem, element, scv);
 
                     if (asImp_().update_(curSol[dofIdxGlobal], volVars, dofIdxGlobal, scv.dofPosition()))
diff --git a/test/porousmediumflow/2p2c/implicit/waterairproblem.hh b/test/porousmediumflow/2p2c/implicit/waterairproblem.hh
index bad5734c307cf628308025dd4d5fc61604e95d40..407ff58d52be72c81b2e73212cf09be1c434ac58 100644
--- a/test/porousmediumflow/2p2c/implicit/waterairproblem.hh
+++ b/test/porousmediumflow/2p2c/implicit/waterairproblem.hh
@@ -304,7 +304,7 @@ public:
 
 #if !ISOTHERMAL
         if (globalPos[0] > 20 - eps_ && globalPos[0] < 30 + eps_ && globalPos[1] < 30 + eps_)
-            values[temperatureIdx] = 380;
+            priVars[temperatureIdx] = 380;
 #endif
         return priVars;
     }