diff --git a/ComputingTasks.cc b/ComputingTasks.cc
index 4e95890d2a3ccf4c6f9e6d164f7abcb6018d9ec0..32d3690bf235c8cf12d6db9d09009d3db3c7f793 100644
--- a/ComputingTasks.cc
+++ b/ComputingTasks.cc
@@ -126,6 +126,10 @@ void
 PerfectForesightSolverStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings)
 {
   mod_file_struct.perfect_foresight_solver_present = true;
+  // Fill in option_occbin of mod_file_struct
+  OptionsList::string_options_t::const_iterator it = options_list.num_options.find("occbin");
+  if (it != options_list.string_options.end())
+    mod_file_struct.occbin_option = true;
 }
 
 void
@@ -4221,6 +4225,11 @@ ExtendedPathStatement::checkPass(ModFileStructure &mod_file_struct, WarningConso
       cerr << "ERROR: the 'periods' option of 'extended_path' is mandatory" << endl;
       exit(EXIT_FAILURE);
     }
+
+  // Fill in option_occbin of mod_file_struct
+  OptionsList::string_options_t::const_iterator it = options_list.num_options.find("occbin");
+  if (it != options_list.string_options.end())
+    mod_file_struct.occbin_option = true;
 }
 
 void
diff --git a/ModFile.cc b/ModFile.cc
index 9c303b01e1f3a75303d87ddf7501f2782dbaedaf..862fd4ca66ce6210d3eb89acbd1cccafdd86c928 100644
--- a/ModFile.cc
+++ b/ModFile.cc
@@ -421,6 +421,7 @@ ModFile::transformPass(bool nostrict)
   */
   if (!(mod_file_struct.ramsey_model_present || mod_file_struct.discretionary_policy_present)
       && !(mod_file_struct.bvar_present && dynamic_model.equation_number() == 0)
+      && !(mod_file_struct.occbin_option)
       && (dynamic_model.equation_number() != symbol_table.endo_nbr()))
     {
       cerr << "ERROR: There are " << dynamic_model.equation_number() << " equations but " << symbol_table.endo_nbr() << " endogenous variables!" << endl;
diff --git a/Statement.cc b/Statement.cc
index b7669c11d36be09b9536b4802ce8cb0e40ee501c..a061a6b687f283f4979de68b1f10d8a6a6884021 100644
--- a/Statement.cc
+++ b/Statement.cc
@@ -50,7 +50,8 @@ ModFileStructure::ModFileStructure() :
   estimation_data_statement_present(false),
   last_markov_switching_chain(0),
   calib_smoother_present(false),
-  estim_params_use_calib(false)
+  estim_params_use_calib(false),
+  occbin_option(false)
 {
 }
 
diff --git a/Statement.hh b/Statement.hh
index 4075524d84ae310175dec90b16b00633a337cf83..4c53f9fc319da1349d359ce04ba724d9f1a24d45 100644
--- a/Statement.hh
+++ b/Statement.hh
@@ -118,6 +118,8 @@ public:
   bool corr_options_statement_present;
   //! Whether a Markov Switching DSGE is present
   bool ms_dsge_present;
+  //! Whether occbin is present
+  bool occbin_option;
 };
 
 class Statement