diff --git a/R/CreateInputsCrit_DeLavenne.R b/R/CreateInputsCrit_DeLavenne.R
index 590270576f89118416b8bd694462803dfb3d8c5f..92f1ea4dca7a523502ec7c2112bf4887140bc287 100644
--- a/R/CreateInputsCrit_DeLavenne.R
+++ b/R/CreateInputsCrit_DeLavenne.R
@@ -26,6 +26,10 @@ CreateInputsCrit_DeLavenne <- function(FUN_CRIT = ErrorCrit_KGE,
   if (!is.null(epsilon) && !is.numeric(epsilon)) {
     stop("'epsilon' must be numeric")
   }
+  if (!is.numeric(AprParamR) || length(AprParamR) != RunOptions$FeatFUN_MOD$NbParam) {
+    stop("'AprParamR' must be a numeric vector of length ",
+         RunOptions$FeatFUN_MOD$NbParam)
+  }
 
 
   FUN_TRANSFO <- .FunTransfo(RunOptions$FeatFUN_MOD)
diff --git a/tests/testthat/test-CreateInputsCrit_DeLavenne.R b/tests/testthat/test-CreateInputsCrit_DeLavenne.R
index bd7752d4595fa445cd5d7747556e4abf82da3fb5..8aa40e49b9c114a3de07d85899e5f3debbb75b08 100644
--- a/tests/testthat/test-CreateInputsCrit_DeLavenne.R
+++ b/tests/testthat/test-CreateInputsCrit_DeLavenne.R
@@ -38,3 +38,14 @@ test_that("should return KGE*(1-k)+k with parameters matching a priori parameter
                ErrorCrit(IC_DL, OutputsModel)$CritValue)
 })
 
+test_that("should return proper error if mismatch number of parameters", {
+  expect_error(
+    CreateInputsCrit_DeLavenne(FUN_CRIT = ErrorCrit_KGE,
+                               InputsModel = InputsModel,
+                               RunOptions = RunOptions,
+                               Obs = BasinObs$Qmm[Ind_Run],
+                               AprParamR = Param[-1],
+                               k = k),
+    regex = "'AprParamR' must be a numeric vector of length 4"
+  )
+})