diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index da33a68b9f6df1e6df6e6d83849c9cb6003d84de..efcfad762cf4f0bb263dd69766c7c03a86836c00 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -4595,19 +4595,28 @@ DynamicModel::writeSetAuxiliaryVariables(const string &basename, bool julia) con
   if (output_func_body.str().empty())
     return;
 
-  string func_name = julia ? basename + "_dynamic_set_auxiliary_series" : "dynamic_set_auxiliary_series";
+  string func_name = julia ? basename + "_dynamic_set_auxiliary_series!" : "dynamic_set_auxiliary_series";
   string comment = julia ? "#" : "%";
 
   stringstream output;
-  output << "function ds = " << func_name + "(ds, params)" << endl
+  if (julia)
+    output << "module " << basename << "DynamicSetAuxiliarySeries" << endl
+           << "export " << func_name << endl;
+  output << "function ";
+  if (!julia)
+    output << "ds = ";
+  output << func_name + "(ds, params)" << endl
          << comment << endl
          << comment << " Status : Computes Auxiliary variables of the dynamic model and returns a dseries" << endl
          << comment << endl
          << comment << " Warning : this file is generated automatically by Dynare" << endl
          << comment << "           from model file (.mod)" << endl << endl
-         << output_func_body.str();
+         << output_func_body.str()
+         << "end" << endl;
+  if (julia)
+    output << "end" << endl;
 
-  writeToFileIfModified(output, julia ? func_name + ".jl" : packageDir(basename) + "/" + func_name + ".m");
+  writeToFileIfModified(output, julia ? basename + "DynamicSetAuxiliarySeries.jl" : packageDir(basename) + "/" + func_name + ".m");
 }
 
 void
diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index eafb81f893ce75c4ff7eabe8b1320133b0babf46..32b17bff04d88115f4d23eb8ab3212749272d61e 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -2115,27 +2115,28 @@ StaticModel::writeSetAuxiliaryVariables(const string &basename, bool julia) cons
   if (output_func_body.str().empty())
     return;
 
-  string func_name = julia ? basename + "_set_auxiliary_variables" : "set_auxiliary_variables";
+  string func_name = julia ? basename + "_set_auxiliary_variables!" : "set_auxiliary_variables";
   string comment = julia ? "#" : "%";
 
   stringstream output;
+  if (julia)
+    output << "module " << basename << "SetAuxiliaryVariables" << endl
+           << "export " << func_name << endl;
   output << "function ";
   if (!julia)
     output << "y = ";
-  output << func_name;
-  if (julia)
-    output << "!";
-  output << "(y, x, params)" << endl
+  output << func_name << "(y, x, params)" << endl
          << comment << endl
          << comment << " Status : Computes static model for Dynare" << endl
          << comment << endl
          << comment << " Warning : this file is generated automatically by Dynare" << endl
          << comment << "           from model file (.mod)" << endl << endl
-         << output_func_body.str();
+         << output_func_body.str()
+         << "end" << endl;
   if (julia)
     output << "end" << endl;
 
-  writeToFileIfModified(output, julia ? func_name + ".jl" : packageDir(basename) + "/" + func_name + ".m");
+  writeToFileIfModified(output, julia ? basename + "SetAuxiliaryVariables.jl" : packageDir(basename) + "/" + func_name + ".m");
 }
 
 void