diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index 0a9849e3c8b40837b639704c768565a4d3584706..616cd2c352c37d786e9eb92469db525930560aaa 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -995,7 +995,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 b53c2d9bfe27b3bb05e0dc265646549810f09e75..1da8d499ab145f9b39a99ce369918599bad280fe 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -2521,6 +2521,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 ';'
@@ -4066,6 +4068,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"); };