diff --git a/python/dune/perftool/sumfact/switch.py b/python/dune/perftool/sumfact/switch.py
index d2361c3b052b0ed51fcc584eccfa74ba0f97ce42..1f61c1bc8d02708a8383ae7fd196d2551db02e86 100644
--- a/python/dune/perftool/sumfact/switch.py
+++ b/python/dune/perftool/sumfact/switch.py
@@ -84,7 +84,7 @@ def generate_exterior_facet_switch():
 
     for facedir_s in range(dim):
         for facemod_s in range(2):
-            block.append("    case {}: {}({}); break;".format(dim * facedir_s + facemod_s,
+            block.append("    case {}: {}({}); break;".format(2 * facedir_s + facemod_s,
                                                               get_kernel_name(facedir_s=facedir_s,
                                                                               facemod_s=facemod_s,
                                                                               ),
@@ -114,7 +114,7 @@ def generate_interior_facet_switch():
             for facedir_n in range(dim):
                 for facemod_n in range(2):
                     if decide_if_kernel_is_necessary(facedir_s, facemod_s, facedir_n, facemod_n):
-                        block.append("    case {}: {}({}); break;".format((dim * facedir_s + facemod_s) * (2 * dim) + dim * facedir_n + facemod_n,
+                        block.append("    case {}: {}({}); break;".format((2 * facedir_s + facemod_s) * (2 * dim) + 2 * facedir_n + facemod_n,
                                                                           get_kernel_name(facedir_s=facedir_s,
                                                                                           facemod_s=facemod_s,
                                                                                           facedir_n=facedir_n,