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;
}