diff --git a/tests/testthat/benchmarkRunModel.R b/tests/testthat/benchmarkRunModel.R
index 67997d97cca6aa44d237d3acbcc322d505ca4306..b38016f3887b1058d8bf387a22f7c2cbcf12c7b0 100644
--- a/tests/testthat/benchmarkRunModel.R
+++ b/tests/testthat/benchmarkRunModel.R
@@ -3,7 +3,10 @@ df <- read.table("../tmp/mean_execution_time.tsv", sep = "\t", header = T)
 lapply(df$model, function(model) {
   test_that(paste(model, ": RunModel should be as fast as CRAN version"), {
     sel <- df$model == model
-    threshold <- max(0.2, -0.15 * df[sel, 2] + 1) # decrease from 1 at 0.1ms to 0.2 at 5.5ms
+    # Limit threshold for evolution of execution time (in %) between the 2 versions
+    # Negative values of evolution are expected but we apply an error margin depending on execution time
+    # decrease from 1.5 at 0.0ms to 0.5 at 10ms with a minimum at 0.5
+    threshold <- max(0.5, -0.1 * df[sel, 2] + 1.5)
     expect_lt(df$evolution[sel], threshold)
   })
 })