diff --git a/ModFile.cc b/ModFile.cc
index 290b9f7172020107c508c4d5f612401d96cfd772..4fc4ce1cd5ef44d57e1797ab3318f5591db51f4a 100644
--- a/ModFile.cc
+++ b/ModFile.cc
@@ -1174,6 +1174,11 @@ ModFile::writeExternalFilesJulia(const string &basename, FileOutputType output)
     }
   steady_state_model.writeSteadyStateFile(basename, mod_file_struct.ramsey_model_present, true);
 
+  // Print statements (includes parameter values)
+    for (vector<Statement *>::const_iterator it = statements.begin();
+         it != statements.end(); it++)
+        (*it)->writeJuliaOutput(jlOutputFile, basename);
+
   jlOutputFile << "model_.static = " << basename << "Static.static!" << endl
                << "model_.dynamic = " << basename << "Dynamic.dynamic!" << endl
                << "if isfile(\"" << basename << "SteadyState.jl"  "\")" << endl
diff --git a/NumericalInitialization.cc b/NumericalInitialization.cc
index 48fc02ffbafbe5e0211686a31b32e2d0b3d696a8..07e0d5814eb1894399d4805f65c3ef02f9af61cf 100644
--- a/NumericalInitialization.cc
+++ b/NumericalInitialization.cc
@@ -51,6 +51,18 @@ InitParamStatement::writeOutput(ostream &output, const string &basename, bool mi
     output << symbol_table.getName(symb_id) << " = M_.params( " << id << " );" << endl;
 }
 
+void
+InitParamStatement::writeJuliaOutput(ostream &output, const string &basename)
+{
+  int id = symbol_table.getTypeSpecificID(symb_id) + 1;
+  output << "model_.params[ " << id << " ] = ";
+  param_value->writeOutput(output);
+  output << endl;
+  // Do we really need this?
+  // if (!minimal_workspace)
+  //   output << symbol_table.getName(symb_id) << " = model_.params[ " << id << " ]" << endl;
+}
+
 void
 InitParamStatement::writeCOutput(ostream &output, const string &basename)
 {
diff --git a/NumericalInitialization.hh b/NumericalInitialization.hh
index 142838f7206643e28ad5b0f1b21b585dd8c9e343..ccc67794471f86429fd144157554471e63211808 100644
--- a/NumericalInitialization.hh
+++ b/NumericalInitialization.hh
@@ -41,6 +41,7 @@ public:
                      const SymbolTable &symbol_table_arg);
   virtual void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings);
   virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const;
+  virtual void writeJuliaOutput(ostream &output, const string &basename);
   virtual void writeCOutput(ostream &output, const string &basename);
   //! Fill eval context with parameter value
   void fillEvalContext(eval_context_t &eval_context) const;
diff --git a/Statement.cc b/Statement.cc
index 2ec5b0318f03ec424dc0ada035fb12541556b4cd..ee7b5b44502e76ceaff2fa6d2a099693dfb5aa5a 100644
--- a/Statement.cc
+++ b/Statement.cc
@@ -69,6 +69,10 @@ Statement::writeCOutput(ostream &output, const string &basename)
 {
 }
 
+void Statement::writeJuliaOutput(ostream &output, const string &basename)
+{
+}
+
 void
 Statement::computingPass()
 {
diff --git a/Statement.hh b/Statement.hh
index 050d182a77c9146c5ccd02bcd081f91645bd7e37..311260b0e074e09578c4378a92d9f9a0b4d5f4b5 100644
--- a/Statement.hh
+++ b/Statement.hh
@@ -143,6 +143,7 @@ public:
   */
   virtual void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const = 0;
   virtual void writeCOutput(ostream &output, const string &basename);
+  virtual void writeJuliaOutput(ostream &output, const string &basename);
 };
 
 class NativeStatement : public Statement