diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc
index 5e34a655a7ec0cf2df623960813f35179d07d14e..060624505d6d85951a30eaddb7d4488db6609db8 100644
--- a/preprocessor/ComputingTasks.cc
+++ b/preprocessor/ComputingTasks.cc
@@ -371,6 +371,17 @@ RplotStatement::writeOutput(ostream &output, const string &basename) const
   output << "rplot(var_list_);\n";
 }
 
+UnitRootVarsStatement::UnitRootVarsStatement(void)
+{
+}
+
+void
+UnitRootVarsStatement::writeOutput(ostream &output, const string &basename) const
+{
+  output << "options_.diffuse_filter = 1;" << endl
+	 << "options_.steadystate.nocheck = 1;" << endl;
+}
+
 PeriodsStatement::PeriodsStatement(int periods_arg) : periods(periods_arg)
 {
 }
diff --git a/preprocessor/ComputingTasks.hh b/preprocessor/ComputingTasks.hh
index 3f66bd03b44b5cb93e6b6dc7aa6a61d34580d060..2c7a0e8692cf8a53ca2f8a3bd9af6d40afb11498 100644
--- a/preprocessor/ComputingTasks.hh
+++ b/preprocessor/ComputingTasks.hh
@@ -126,6 +126,13 @@ public:
   virtual void writeOutput(ostream &output, const string &basename) const;
 };
 
+class UnitRootVarsStatement : public Statement
+{
+public:
+  UnitRootVarsStatement(void);
+  virtual void writeOutput(ostream &output, const string &basename) const;
+};
+
 class PeriodsStatement : public Statement
 {
 private:
diff --git a/preprocessor/ParsingDriver.cc b/preprocessor/ParsingDriver.cc
index eff84af442d45c3a4efb5bbb517d87e2b58d27be..73fc785fcb6fcc958d0e5c36d0f2e6826bec6570 100644
--- a/preprocessor/ParsingDriver.cc
+++ b/preprocessor/ParsingDriver.cc
@@ -1179,7 +1179,8 @@ ParsingDriver::estimated_params_bounds()
 void
 ParsingDriver::set_unit_root_vars()
 {
-  warning("'unit_root_vars' is now obsolete and has no effect; use option 'diffuse_filter' of 'estimation' instead");
+  mod_file->addStatement(new UnitRootVarsStatement());
+  warning("'unit_root_vars' is now obsolete; use option 'diffuse_filter' of 'estimation' instead");
   symbol_list.clear();
 }