diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc
index c89e62b29099831ddc0fca1f36814ae0ed4dfb08..aceed00f331f6a353e023df0690c8b3bf7cc228b 100644
--- a/preprocessor/ComputingTasks.cc
+++ b/preprocessor/ComputingTasks.cc
@@ -963,6 +963,14 @@ MSSBVARSimulationStatement::writeOutput(ostream &output, const string &basename)
 {
   output << "options_ = initialize_ms_sbvar_options(M_, options_);" << endl;
   options_list.writeOutput(output);
+
+  // Redeclare drop option if necessary
+  OptionsList::num_options_t::const_iterator mh_replic_it = options_list.num_options.find("ms.mh_replic");
+  OptionsList::num_options_t::const_iterator drop_it = options_list.num_options.find("ms.drop");
+  if (mh_replic_it != options_list.num_options.end())
+    if (drop_it == options_list.num_options.end())
+      output << "options_.ms.drop = 0.1*options_.ms.mh_replic;" << endl;
+
   output << "[options_, oo_] = ms_simulation(M_, options_, oo_);" << endl;
 }