diff --git a/dune/fufem/assemblers/localassemblers/scaledsumfunctionalassembler.hh b/dune/fufem/assemblers/localassemblers/scaledsumfunctionalassembler.hh
index bd1e6c011bae193f6ab436171e4bb21d9a946584..6b8e73704013bb5492b9e4ed2a57bee745993d53 100644
--- a/dune/fufem/assemblers/localassemblers/scaledsumfunctionalassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/scaledsumfunctionalassembler.hh
@@ -44,6 +44,7 @@ public:
    */
   virtual void assemble(const Element& element, LocalVector& localVector,
                         const FE& tFE) const {
+    localVector = 0.0;
     for (auto&& scaledAssembler : scaledAssemblers_) {
       LocalVector v(localVector.size());
       scaledAssembler.second->assemble(element, v = 0.0, tFE);
diff --git a/dune/fufem/assemblers/localassemblers/scaledsumoperatorassembler.hh b/dune/fufem/assemblers/localassemblers/scaledsumoperatorassembler.hh
index b47e2e72d0dc5149cae1df79084e4ec49e12cb54..c40aaf0d4800c0d38de5c7c5b133283f85fb810a 100644
--- a/dune/fufem/assemblers/localassemblers/scaledsumoperatorassembler.hh
+++ b/dune/fufem/assemblers/localassemblers/scaledsumoperatorassembler.hh
@@ -63,6 +63,7 @@ public:
   virtual void assemble(const Element& element, LocalMatrix& localMatrix,
                         const TrialLocalFE& tFE,
                         const AnsatzLocalFE& aFE) const {
+    localMatrix = 0.0;
     for (auto&& scaledAssembler : scaledAssemblers_) {
       LocalMatrix m(localMatrix.N(), localMatrix.M());
       m = 0.0;