diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index fb84ffcb9110c92d708e54955134929903c4a7b6..956a6c409cedbbd0d1fe0f448f246cd447a82df5 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -2199,7 +2199,7 @@ DynamicModel::writeDynamicModel(const string &basename, ostream &DynamicOutput,
              << "end" << endl << endl;
 
       // dynamic!
-      output << "function dynamicResid!(T::Vector{Float64}, residual::Vector{Float64}," << endl
+      output << "function dynamicResid!(T::Vector{Float64}, residual::AbstractVector{Float64}," << endl
              << "                       y::Vector{Float64}, x::Matrix{Float64}, "
              << "params::Vector{Float64}, steady_state::Vector{Float64}, it_::Int, T_flag::Bool)" << endl
              << "    @assert length(T) >= " << temporary_terms_mlv.size() + temporary_terms_derivatives[0].size() << endl
@@ -2292,14 +2292,14 @@ DynamicModel::writeDynamicModel(const string &basename, ostream &DynamicOutput,
              << "end" << endl << endl;
 
       // dynamic!
-      output << "function dynamic!(T::Vector{Float64}, residual::Vector{Float64}," << endl
+      output << "function dynamic!(T::Vector{Float64}, residual::AbstractVector{Float64}," << endl
              << "                  y::Vector{Float64}, x::Matrix{Float64}, "
              << "params::Vector{Float64}, steady_state::Vector{Float64}, it_::Int)" << endl
              << "    dynamicResid!(T, residual, y, x, params, steady_state, it_, true)" << endl
              << "    return nothing" << endl
              << "end" << endl
              << endl
-             << "function dynamic!(T::Vector{Float64}, residual::Vector{Float64}, g1::Matrix{Float64}," << endl
+             << "function dynamic!(T::Vector{Float64}, residual::AbstractVector{Float64}, g1::Matrix{Float64}," << endl
              << "                  y::Vector{Float64}, x::Matrix{Float64}, "
              << "params::Vector{Float64}, steady_state::Vector{Float64}, it_::Int)" << endl
              << "    dynamicG1!(T, g1, y, x, params, steady_state, it_, true)" << endl
@@ -2307,7 +2307,7 @@ DynamicModel::writeDynamicModel(const string &basename, ostream &DynamicOutput,
              << "    return nothing" << endl
              << "end" << endl
              << endl
-             << "function dynamic!(T::Vector{Float64}, residual::Vector{Float64}, g1::Matrix{Float64}, g2::Matrix{Float64}," << endl
+             << "function dynamic!(T::Vector{Float64}, residual::AbstractVector{Float64}, g1::Matrix{Float64}, g2::Matrix{Float64}," << endl
              << "                  y::Vector{Float64}, x::Matrix{Float64}, "
              << "params::Vector{Float64}, steady_state::Vector{Float64}, it_::Int)" << endl
              << "    dynamicG2!(T, g2, y, x, params, steady_state, it_, true)" << endl
@@ -2316,7 +2316,7 @@ DynamicModel::writeDynamicModel(const string &basename, ostream &DynamicOutput,
              << "    return nothing" << endl
              << "end" << endl
              << endl
-             << "function dynamic!(T::Vector{Float64}, residual::Vector{Float64}, g1::Matrix{Float64}, g2::Matrix{Float64}, g3::Matrix{Float64}," << endl
+             << "function dynamic!(T::Vector{Float64}, residual::AbstractVector{Float64}, g1::Matrix{Float64}, g2::Matrix{Float64}, g3::Matrix{Float64}," << endl
              << "                  y::Vector{Float64}, x::Matrix{Float64}, "
              << "params::Vector{Float64}, steady_state::Vector{Float64}, it_::Int)" << endl
              << "    dynamicG3!(T, g3, y, x, params, steady_state, it_, true)" << endl
@@ -4712,7 +4712,7 @@ 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 ? "dynamic_set_auxiliary_series!" : "dynamic_set_auxiliary_series";
   string comment = julia ? "#" : "%";
 
   stringstream output;
@@ -6284,8 +6284,16 @@ DynamicModel::writeJsonDynamicModelInfo(ostream &output) const
          << R"("orig_maximum_lag": )" << max_lag_orig << "," << endl
          << R"("orig_maximum_lead": )" << max_lead_orig << "," << endl
          << R"("orig_maximum_lag_with_diffs_expanded": )" << max_lag_with_diffs_expanded_orig
-         << endl;
-  output << "}";
+	 << "," <<endl
+	 << R"("NNZDerivatives": [)"; 
+  for (int i = 1; i < static_cast<int>(NNZDerivatives.size()); i++)
+    {
+      output << (i > computed_derivs_order ? -1 : NNZDerivatives[i]);
+      if (i < static_cast<int>(NNZDerivatives.size()) - 1)
+	output << ", ";
+    }
+  output << "]}" 
+	 << endl;
 }
 
 void
diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index daf54426fcbe0506da8b5337641b883168a2e289..13e6bcb6445bc3b9d4928b18c45b97ca87af2ee2 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -2114,7 +2114,7 @@ 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 ? "set_auxiliary_variables!" : "set_auxiliary_variables";
   string comment = julia ? "#" : "%";
 
   stringstream output;