diff --git a/python/dune/perftool/sumfact/vectorization.py b/python/dune/perftool/sumfact/vectorization.py
index 14b9ba4de00eb1e7730ae3daf107ce9e6a762631..0b6c9494d0dc4780cf4202a093f39dafa164b656 100644
--- a/python/dune/perftool/sumfact/vectorization.py
+++ b/python/dune/perftool/sumfact/vectorization.py
@@ -169,11 +169,14 @@ def short_stringify_vectorization_strategy(strategy):
 
     stage1 = []
     stage3 = []
+    keys = set(sf.cache_key for sf in strategy.values())
     for kernel in strategy.values():
-        if kernel.stage == 1:
-            stage1.append(_short(kernel))
-        if kernel.stage == 3:
-            stage3.append(_short(kernel))
+        if kernel.cache_key in keys:
+            keys.discard(kernel.cache_key)
+            if kernel.stage == 1:
+                stage1.append(_short(kernel))
+            if kernel.stage == 3:
+                stage3.append(_short(kernel))
 
     return "m0={};S1:{};S3:{}".format(qp[0], "|".join(stage1), "|".join(stage3))
 
@@ -267,6 +270,7 @@ def level1_optimal_vectorization_strategy(sumfacts, width):
         cost = strategy_cost((qp, optimal_strategies[qp]))
         print("The target cost was:   {}".format(get_form_option("vectorization_target")))
         print("The achieved cost was: {}".format(cost))
+        print("The optimal cost would be: {}".format(strategy_cost(level1_optimal_vectorization_strategy(sumfacts, width))))
         set_form_option("vectorization_strategy", "target")
         print("The score in 'target' logic was: {}".format(strategy_cost((qp, optimal_strategies[qp]))))