diff --git a/src/build_sequences.jl b/src/build_sequences.jl
index 19f2d7cb535b249830930d11cdcc9f36721b26ef..1c198e96410552f96a48fe593cea7e45357b7361 100644
--- a/src/build_sequences.jl
+++ b/src/build_sequences.jl
@@ -78,7 +78,7 @@ function build_sequence(f::Function, scanner::Union{Nothing, Scanner}, model::Tu
                 prev_cost_func = nothing
                 for cost_func in iterate_cost()
                     if !isnothing(prev_cost_func)
-                        @constraint jump_model prev_cost_func <= objective_value(jump_model) + (1 + 1e-12)
+                        @constraint jump_model prev_cost_func <= (objective_value(jump_model) + 1e-5 * abs(objective_value(jump_model)))
                     end
                     optimise_with_cost_func(jump_model, cost_func, n_attempts)
                     prev_cost_func = cost_func