diff --git a/python/dune/perftool/sumfact/accumulation.py b/python/dune/perftool/sumfact/accumulation.py
index 61e39ffa4cc1179645ace5744a7354441ea773ca..c943d80c8597522a97438ceb3dcffa2991553cb7 100644
--- a/python/dune/perftool/sumfact/accumulation.py
+++ b/python/dune/perftool/sumfact/accumulation.py
@@ -381,9 +381,6 @@ def generate_accumulation_instruction(expr, visitor):
     test_info = visitor.test_info
     trial_info = visitor.trial_info
 
-    # Cache all stage 1 sum factorization kernels used in this expression
-    SumfactCollectMapper()(expr)
-
     # Number of basis functions per direction
     leaf_element = test_info.element
     from ufl import MixedElement
@@ -405,6 +402,9 @@ def generate_accumulation_instruction(expr, visitor):
     if False in predicates:
         return
 
+    # Cache all stage 1 sum factorization kernels used in this expression
+    SumfactCollectMapper()(expr)
+
     insn_dep = None
 
     from dune.perftool.pdelab.localoperator import determine_accumulation_space