diff --git a/python/dune/perftool/sumfact/vectorization.py b/python/dune/perftool/sumfact/vectorization.py
index 2b51a85342c861d691a7397888499669544e0413..aed3f4a30b9115fc0a4aef1169f85db8e492853a 100644
--- a/python/dune/perftool/sumfact/vectorization.py
+++ b/python/dune/perftool/sumfact/vectorization.py
@@ -268,10 +268,11 @@ def level1_optimal_vectorization_strategy(sumfacts, width):
     if get_form_option("vectorization_strategy") == "target":
         # Print the achieved cost and the target cost on the screen
         set_form_option("vectorization_strategy", "model")
-        qp = min(optimal_strategies, key=lambda qp: strategy_cost((qp, optimal_strategies[qp])))
+        target = float(get_form_option("vectorization_target"))
+        qp = min(optimal_strategies, key=lambda qp: abs(strategy_cost((qp, optimal_strategies[qp])) - target))
         cost = strategy_cost((qp, optimal_strategies[qp]))
 
-        print("The target cost was:   {}".format(get_form_option("vectorization_target")))
+        print("The target cost was:   {}".format(target))
         print("The achieved cost was: {}".format(cost))
         optimum = level1_optimal_vectorization_strategy(sumfacts, width)
         print("The optimal cost would be: {}".format(strategy_cost(optimum)))