diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 0bb18fd52c7ec787c65298afcae06e19abff3230..9c939355a2fc1fcef0f472f8e936f076e210365a 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -176,6 +176,7 @@ ProblemPtr Problem::autoSetup(ParamsServer &_server)
 
     // Prior
     std::string prior_mode = _server.getParam<std::string>("problem/prior/mode");
+    assert((prior_mode == "nothing" || prior_mode == "initial_guess" || prior_mode == "fix" || prior_mode == "factor") && "wrong _mode value, it should be: 'nothing', 'initial_guess', 'fix' or 'factor'");
     WOLF_TRACE("Prior mode: ", prior_mode);
     if (prior_mode == "nothing")
     {