diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index a6d8f2fe04b7a4de4bb45862dc19f4fc5d2731f9..1a2def69ddba42dde17ee2b896b2a3c141fc66d3 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -1811,6 +1811,16 @@ DynamicModel::writeDriverOutput(ostream &output, const string &basename, bool es
   output << "];" << endl;
 
   writeDriverSparseIndicesHelper<true>(output);
+
+  // Write LHS of each equation in text form
+  output << "M_.lhs = {" << endl;
+  for (auto eq : equations)
+    {
+      output << "'";
+      eq->arg1->writeJsonOutput(output, {}, {});
+      output << "'; " << endl;
+    }
+  output << "};" << endl;
 }
 
 void
diff --git a/src/ModFile.cc b/src/ModFile.cc
index 84c3f7bf634fac67b94f4a8274d0e36924eb69bc..a582b9666f38022fef73285e4d9839444aaf5401 100644
--- a/src/ModFile.cc
+++ b/src/ModFile.cc
@@ -887,9 +887,6 @@ ModFile::writeMOutput(const string &basename, bool clear_all, bool clear_global,
 
   symbol_table.writeOutput(mOutputFile);
 
-  // Fill the fields related to solve_algo={12,14} if possible.
-  mOutputFile << "M_ = setup_solvers(M_);" << endl;
-
   var_model_table.writeOutput(basename, mOutputFile);
   trend_component_model_table.writeOutput(basename, mOutputFile);
   var_expectation_model_table.writeOutput(mOutputFile);