diff --git a/preprocessor/ModFile.cc b/preprocessor/ModFile.cc
index b0c588f6627172ff4c98bf806daafb8fa762f26e..3f6b4a429937b63782876ee6dbe01bc5576df678 100644
--- a/preprocessor/ModFile.cc
+++ b/preprocessor/ModFile.cc
@@ -403,7 +403,7 @@ ModFile::computingPass(bool no_tmp_terms)
                   exit(EXIT_FAILURE);
                 }
               bool hessian = mod_file_struct.order_option >= 2 || mod_file_struct.identification_present || mod_file_struct.estimation_analytic_derivation;
-              bool thirdDerivatives = mod_file_struct.order_option == 3;
+              bool thirdDerivatives = mod_file_struct.order_option == 3 || mod_file_struct.estimation_analytic_derivation;
               bool paramsDerivatives = mod_file_struct.identification_present || mod_file_struct.estimation_analytic_derivation;
               dynamic_model.computingPass(true, hessian, thirdDerivatives, paramsDerivatives, global_eval_context, no_tmp_terms, block, use_dll, byte_code);
             }