diff --git a/hog/operator_generation/kernel_types.py b/hog/operator_generation/kernel_types.py
index 6cd3f5a98d4d4df821576cfcff58f58a1d885840..f0ba9f13523100cb3c2862dd1bcce32faea0644f 100644
--- a/hog/operator_generation/kernel_types.py
+++ b/hog/operator_generation/kernel_types.py
@@ -614,7 +614,7 @@ class AssembleDiagonalWrapper(KernelWrapperType):
             f"\n"
             f"for ( uint_t level = minLevel_; level <= maxLevel_; level++ )\n"
             f"{{\n"
-            f"    {self.dst.name}->interpolate( 0, level );\n"
+            f"    {self.dst.name}->setToZero( level );\n"
             f"\n"
             f"    if ( storage_->hasGlobalCells() )\n"
             f"    {{\n"
diff --git a/hyteg_integration_tests/src/OperatorGenerationTest.hpp b/hyteg_integration_tests/src/OperatorGenerationTest.hpp
index 3eaec8c9f591fcc9b39a7dd99863f61a4cae1024..8719f6d5ef62fbed630bedb3fc89c39deb71f1d7 100644
--- a/hyteg_integration_tests/src/OperatorGenerationTest.hpp
+++ b/hyteg_integration_tests/src/OperatorGenerationTest.hpp
@@ -367,10 +367,12 @@ void compareInvDiag( OperatorFactory< RefOpType >  refOpFactory,
    // apply reference and test operators
    RefOpType opRef = refOpFactory( storage, level, level );
    opRef.computeInverseDiagonalOperatorValues();
+   opRef.computeInverseDiagonalOperatorValues();
    std::shared_ptr< RefDiagType > diagRef = opRef.getInverseDiagonalValues();
 
    TestOpType opTest = testOpFactory( storage, level, level );
    opTest.computeInverseDiagonalOperatorValues();
+   opTest.computeInverseDiagonalOperatorValues();
    std::shared_ptr< TestDiagType > diagTest = opTest.getInverseDiagonalValues();
 
    // compare