diff --git a/dumux/multidomain/embedded/integrationpointsource.hh b/dumux/multidomain/embedded/integrationpointsource.hh
index b4b3889b9cc88666794357f78d0d5d533fad6f24..f92c8730a7ff24f4d148e9f63ff764dd4353bb3d 100644
--- a/dumux/multidomain/embedded/integrationpointsource.hh
+++ b/dumux/multidomain/embedded/integrationpointsource.hh
@@ -74,6 +74,16 @@ public:
         return integrationElement_;
     }
 
+    void setQuadratureWeight(const Scalar w)
+    {
+        qpweight_ = w;
+    }
+
+    void setIntegrationElement(const Scalar ie)
+    {
+        integrationElement_ = ie;
+    }
+
     const std::vector<std::size_t>& elementIndices() const
     {
         return elementIndices_;
@@ -170,8 +180,10 @@ public:
                                 pointSourceMap.at(key).push_back(source);
                             else
                                 pointSourceMap.insert({key, {source}});
+
+                            // adjust the integration element
                             auto& s = pointSourceMap.at(key).back();
-                            s *= shapeValues[scv.indexInElement()];
+                            s.setIntegrationElement(shapeValues[scv.indexInElement()]*s.integrationElement());
                         }
                     }
                 }