diff --git a/R/CreateErrorCrit_GAPX.R b/R/CreateErrorCrit_GAPX.R
index 706c407a43cfae1e7205b0cd56d1e9ad2425af1e..33b424fa2c0634e6008488c8738b130a1f273619 100644
--- a/R/CreateErrorCrit_GAPX.R
+++ b/R/CreateErrorCrit_GAPX.R
@@ -18,7 +18,7 @@ CreateErrorCrit_GAPX <- function(FUN_TRANSFO) {
       ParamOpt <- EC$VarSim[!EC$TS_ignore]
 
       ## ErrorCrit
-      Crit <- 1 - sum(((ParamApr - ParamOpt) / 40)^2)^0.5
+      Crit <- 1 - sum(((ParamApr - ParamOpt) / 20)^2)^0.5
 
       if (is.numeric(Crit) & is.finite(Crit)) {
         CritValue <- Crit
diff --git a/tests/testthat/test-CreateErrorCrit_GAPX.R b/tests/testthat/test-CreateErrorCrit_GAPX.R
index 60ad4fe6f8aa4538cf9c369574d7059d686e1fb2..3b41c84347915e655308a6229ae428df4159fce0 100644
--- a/tests/testthat/test-CreateErrorCrit_GAPX.R
+++ b/tests/testthat/test-CreateErrorCrit_GAPX.R
@@ -28,5 +28,16 @@ test_that("ErrorCrit should return 1 for same parameters", {
 test_that("ErrorCrit should return 1-nbParam^0.5/40 for ParamT shifted by 1", {
   ParamT <- ParamT + 1
   IC <- CreateInputsCrit(ErrorCrit_GAPX, InputsModel, RunOptions, Obs = ParamT, VarObs = "ParamT")
-  expect_equal(ErrorCrit_GAPX(IC, OutputsModel)$CritValue, 1 - RunOptions$FeatFUN_MOD$NbParam^0.5 / 40)
+  expect_equal(ErrorCrit_GAPX(IC, OutputsModel)$CritValue,
+               1 - RunOptions$FeatFUN_MOD$NbParam^0.5 / 20)
+})
+
+test_that("ErrorCrit should return 1-(nbParam-1)^0.5/40 for ParamT shifted by 1 with one NA", {
+  ParamT <- ParamT + 1
+  ParamT[1] <- NA
+  IC <- CreateInputsCrit(ErrorCrit_GAPX, InputsModel, RunOptions, Obs = ParamT, VarObs = "ParamT")
+  expect_equal(suppressWarnings(ErrorCrit_GAPX(IC, OutputsModel)$CritValue),
+               1 - (RunOptions$FeatFUN_MOD$NbParam - 1)^0.5 / 20)
+  expect_warning(ErrorCrit_GAPX(IC, OutputsModel)$CritValue,
+                 regexp = "criterion GAPX computed on less than 4 parameters")
 })