diff --git a/preprocessor/ModFile.cc b/preprocessor/ModFile.cc
index f38fb2d71ebbcf8c15c5a1e056059749b963ed3f..b06b680571523b652a3f53c2b82d1002da9d72d8 100644
--- a/preprocessor/ModFile.cc
+++ b/preprocessor/ModFile.cc
@@ -286,7 +286,13 @@ ModFile::transformPass()
       cerr << "ERROR: There are " << dynamic_model.equation_number() << " equations but " << symbol_table.endo_nbr() << " endogenous variables!" << endl;
       exit(EXIT_FAILURE);
     }
-
+  
+  if (symbol_table.exo_det_nbr() > 0 && mod_file_struct.simul_present)
+    {
+      cerr << "ERROR: A .mod file cannot contain both a simul command and varexo_det declaration (all exogenous variables are deterministic in this case)" << endl;
+      exit(EXIT_FAILURE);
+    }
+  
   cout << "Found " << dynamic_model.equation_number() << " equation(s)." << endl;
 
   if (symbol_table.exists("dsge_prior_weight"))