diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index 4b1b758967c479e7bc3bdd167fb3fbf8a87b77c0..5ffa0f27e1a712e1fc0e139f9ebb0fc2d1867b63 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -5340,8 +5340,8 @@ void
 ResidStatement::writeOutput(ostream& output, [[maybe_unused]] const string& basename,
                             [[maybe_unused]] bool minimal_workspace) const
 {
-  options_list.writeOutput(output, "options_resid_");
-  output << "display_static_residuals(M_, options_, oo_, options_resid_);" << endl;
+  options_list.writeOutput(output);
+  output << "display_static_residuals(M_, options_, oo_);" << endl;
 }
 
 void
diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index 74e71be3b14dc16352ed10fa7a0fa1c7564a61ba..df0bcdd614956a41ab3bce13ea5f5dcd4de3eff7 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -1498,6 +1498,7 @@ steady_options : o_solve_algo
                | o_steady_tolf
                | o_steady_tolx
                | o_fsolve_options
+               | o_non_zero
                ;
 
 check : CHECK ';'
@@ -4383,7 +4384,7 @@ o_emas_girf : EMAS_GIRF { driver.option_num("irf_opt.ergodic_mean_irf", "true");
 o_emas_drop : EMAS_DROP EQUAL INT_NUMBER { driver.option_num("irf_opt.EM.drop", $3); };
 o_emas_tolf : EMAS_TOLF EQUAL non_negative_number { driver.option_num("irf_opt.EM.tolf", $3); };
 o_emas_max_iter : EMAS_MAX_ITER EQUAL INT_NUMBER { driver.option_num("irf_opt.EM.iter", $3); };
-o_non_zero : NON_ZERO { driver.option_num("non_zero", "true"); };
+o_non_zero : NON_ZERO { driver.option_num("steady.non_zero", "true"); };
 
 // Some options to "identification"
 o_no_identification_strength : NO_IDENTIFICATION_STRENGTH { driver.option_num("no_identification_strength", "true"); };