diff --git a/ModFile.cc b/ModFile.cc
index 155eed707cec90847c97f00ccd6e81bec2b6217a..2829944a085087b2a911299b44f9b5fb8c6db9a3 100644
--- a/ModFile.cc
+++ b/ModFile.cc
@@ -197,7 +197,7 @@ ModFile::computingPass(bool no_tmp_terms)
                   cerr << "ERROR: Incorrect order option..." << endl;
                   exit(EXIT_FAILURE);
                 }
-              bool hessian = mod_file_struct.order_option >= 2;
+              bool hessian = mod_file_struct.order_option >= 2 || mod_file_struct.identification_present;
               bool thirdDerivatives = mod_file_struct.order_option == 3;
               bool paramsDerivatives = mod_file_struct.identification_present;
               dynamic_model.computingPass(true, hessian, thirdDerivatives, paramsDerivatives, global_eval_context, no_tmp_terms, false, use_dll);