diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index 35cacd9c54b8cbc5a612a85f590b9459a951f23d..c332510d2f519dc3121d8db055aeae3ee01653e7 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -883,7 +883,7 @@ void
 OccbinWriteRegimesStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
 {
   options_list.writeOutput(output, "options_.occbin");
-  output << "occbin.write_regimes_to_xls(oo_.occbin.regime_history, M_, options_);" << endl;  
+  output << "occbin.write_regimes_to_xls(oo_.occbin, M_, options_);" << endl;  
 }
 
 void
diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index 5673a31ec8432143877e3786f57b8aeb5112903c..1e0e2782578d23d188f003d8621e066efd9f6ae9 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -2532,6 +2532,8 @@ occbin_write_regimes_options_list : occbin_write_regimes_option COMMA occbin_wri
 
 occbin_write_regimes_option : o_occbin_write_regimes_periods
                             | o_occbin_write_regimes_filename
+                            | o_occbin_write_regimes_smoother
+                            | o_occbin_write_regimes_simul
                             ;
 
 occbin_graph : OCCBIN_GRAPH ';'
@@ -4084,6 +4086,8 @@ o_occbin_write_regimes_periods : PERIODS EQUAL vec_int
                                | PERIODS EQUAL vec_int_number 
                                  { driver.option_vec_int("write_regimes.periods", $3); }
 o_occbin_write_regimes_filename : FILENAME EQUAL filename { driver.option_str("write_regimes.filename", $3); };
+o_occbin_write_regimes_smoother : SMOOTHER { driver.option_str("write_regimes.type", "smoother"); };
+o_occbin_write_regimes_simul : SIMUL { driver.option_str("write_regimes.type", "simul"); };
 
 // Some options to "occbin_graph"
 o_occbin_graph_noconstant : NOCONSTANT { driver.option_num("graph.steady_state", "false"); };