diff --git a/mex/sources/k_order_welfare/objective_m.cc b/mex/sources/k_order_welfare/objective_m.cc
index 8d6709e561aba526139976ea292240f2946cd4b6..4788462d142655ad61767ac0c787996eaad9a7c9 100644
--- a/mex/sources/k_order_welfare/objective_m.cc
+++ b/mex/sources/k_order_welfare/objective_m.cc
@@ -21,6 +21,7 @@
 #include <array>
 #include <cassert>
 #include <type_traits>
+#include <utility>
 
 #include "dynare_exception.hh"
 
@@ -30,13 +31,13 @@ ObjectiveMFile::ObjectiveMFile(const std::string& modName, int kOrder_arg,
                                const mxArray* objective_g1_sparse_rowval_mx_arg,
                                const mxArray* objective_g1_sparse_colval_mx_arg,
                                const mxArray* objective_g1_sparse_colptr_mx_arg,
-                               const std::vector<const mxArray*> objective_gN_sparse_indices_arg) :
+                               std::vector<const mxArray*> objective_gN_sparse_indices_arg) :
     ObjectiveMFilename {modName + ".objective.sparse.static"},
     kOrder {kOrder_arg},
     objective_g1_sparse_rowval_mx {objective_g1_sparse_rowval_mx_arg},
     objective_g1_sparse_colval_mx {objective_g1_sparse_colval_mx_arg},
     objective_g1_sparse_colptr_mx {objective_g1_sparse_colptr_mx_arg},
-    objective_gN_sparse_indices {objective_gN_sparse_indices_arg}
+    objective_gN_sparse_indices {move(objective_gN_sparse_indices_arg)}
 {
 }
 
diff --git a/mex/sources/k_order_welfare/objective_m.hh b/mex/sources/k_order_welfare/objective_m.hh
index d720f910b2f737462bceb674a0b1cd75aec2285b..1fc150054576cea3e8da5bc402fdfed79d562a1f 100644
--- a/mex/sources/k_order_welfare/objective_m.hh
+++ b/mex/sources/k_order_welfare/objective_m.hh
@@ -44,7 +44,7 @@ public:
                  const mxArray* objective_g1_sparse_rowval_mx_arg,
                  const mxArray* objective_g1_sparse_colval_mx_arg,
                  const mxArray* objective_g1_sparse_colptr_mx_arg,
-                 const std::vector<const mxArray*> objective_gN_sparse_indices_arg);
+                 std::vector<const mxArray*> objective_gN_sparse_indices_arg);
   void eval(const Vector& y, const Vector& x, const Vector& params, Vector& residual,
             const std::vector<int>& dynToDynpp, TensorContainer<FSSparseTensor>& derivatives) const
       noexcept(false);
diff --git a/mex/sources/libkorder/dynamic_abstract_class.hh b/mex/sources/libkorder/dynamic_abstract_class.hh
index 1a1aa9a175b0313340899c3b24a9d710881b8716..5f82c1810d8cf83876aa4083133c86550e39b9b8 100644
--- a/mex/sources/libkorder/dynamic_abstract_class.hh
+++ b/mex/sources/libkorder/dynamic_abstract_class.hh
@@ -20,6 +20,7 @@
 #ifndef DYNAMIC_ABSTRACT_CLASS_HH
 #define DYNAMIC_ABSTRACT_CLASS_HH
 
+#include <utility>
 #include <vector>
 
 #include "dynmex.h"
@@ -41,12 +42,12 @@ public:
   DynamicModelAC(int order_arg, const mxArray* dynamic_g1_sparse_rowval_mx_arg,
                  const mxArray* dynamic_g1_sparse_colval_mx_arg,
                  const mxArray* dynamic_g1_sparse_colptr_mx_arg,
-                 const std::vector<const mxArray*> dynamic_gN_sparse_indices_arg) :
+                 std::vector<const mxArray*> dynamic_gN_sparse_indices_arg) :
       order {order_arg},
       dynamic_g1_sparse_rowval_mx {dynamic_g1_sparse_rowval_mx_arg},
       dynamic_g1_sparse_colval_mx {dynamic_g1_sparse_colval_mx_arg},
       dynamic_g1_sparse_colptr_mx {dynamic_g1_sparse_colptr_mx_arg},
-      dynamic_gN_sparse_indices {dynamic_gN_sparse_indices_arg} {};
+      dynamic_gN_sparse_indices {move(dynamic_gN_sparse_indices_arg)} {};
   virtual ~DynamicModelAC() = default;
   virtual void eval(const Vector& y, const Vector& x, const Vector& params, const Vector& ySteady,
                     Vector& residual, const std::map<int, int>& dynToDynpp,
diff --git a/mex/sources/libkorder/dynamic_dll.cc b/mex/sources/libkorder/dynamic_dll.cc
index a50116d07db0b7d26b340f6b86d6a901dab3e86e..b5317d3d75cca50b931a5506d897a36aa406cf0f 100644
--- a/mex/sources/libkorder/dynamic_dll.cc
+++ b/mex/sources/libkorder/dynamic_dll.cc
@@ -26,10 +26,10 @@ DynamicModelDLL::DynamicModelDLL(const std::string& modName, int order_arg,
                                  const mxArray* dynamic_g1_sparse_rowval_mx_arg,
                                  const mxArray* dynamic_g1_sparse_colval_mx_arg,
                                  const mxArray* dynamic_g1_sparse_colptr_mx_arg,
-                                 const std::vector<const mxArray*> dynamic_gN_sparse_indices_arg,
+                                 std::vector<const mxArray*> dynamic_gN_sparse_indices_arg,
                                  int ntt) :
     DynamicModelAC {order_arg, dynamic_g1_sparse_rowval_mx_arg, dynamic_g1_sparse_colval_mx_arg,
-                    dynamic_g1_sparse_colptr_mx_arg, dynamic_gN_sparse_indices_arg},
+                    dynamic_g1_sparse_colptr_mx_arg, move(dynamic_gN_sparse_indices_arg)},
     dynamic_fcts(order + 1),
     dynamic_fcts_tt(order + 1),
     tt_tmp(ntt),
diff --git a/mex/sources/libkorder/dynamic_dll.hh b/mex/sources/libkorder/dynamic_dll.hh
index 9f3f365171ff5e6d420961a0ccb4ea23427ac2b9..2a17029019ff74a488a12b1b32a7d05e04d78770 100644
--- a/mex/sources/libkorder/dynamic_dll.hh
+++ b/mex/sources/libkorder/dynamic_dll.hh
@@ -68,7 +68,7 @@ public:
                   const mxArray* dynamic_g1_sparse_rowval_mx_arg,
                   const mxArray* dynamic_g1_sparse_colval_mx_arg,
                   const mxArray* dynamic_g1_sparse_colptr_mx_arg,
-                  const std::vector<const mxArray*> dynamic_gN_sparse_indices_arg, int ntt);
+                  std::vector<const mxArray*> dynamic_gN_sparse_indices_arg, int ntt);
   ~DynamicModelDLL() override;
 
   void eval(const Vector& y, const Vector& x, const Vector& params, const Vector& ySteady,
diff --git a/mex/sources/libkorder/dynamic_m.cc b/mex/sources/libkorder/dynamic_m.cc
index 4cafa3c36b38f4d103025488ff9e73effdc39170..adafd2f20ea95395f9f64ceafbbb1abd0d15b22b 100644
--- a/mex/sources/libkorder/dynamic_m.cc
+++ b/mex/sources/libkorder/dynamic_m.cc
@@ -21,17 +21,19 @@
 #include <array>
 #include <cassert>
 #include <type_traits>
+#include <utility>
 
 #include "dynare_exception.hh"
 
 #include "dynamic_m.hh"
 
-DynamicModelMFile::DynamicModelMFile(
-    const std::string& modName, int order_arg, const mxArray* dynamic_g1_sparse_rowval_mx_arg,
-    const mxArray* dynamic_g1_sparse_colval_mx_arg, const mxArray* dynamic_g1_sparse_colptr_mx_arg,
-    const std::vector<const mxArray*> dynamic_gN_sparse_indices_arg) :
+DynamicModelMFile::DynamicModelMFile(const std::string& modName, int order_arg,
+                                     const mxArray* dynamic_g1_sparse_rowval_mx_arg,
+                                     const mxArray* dynamic_g1_sparse_colval_mx_arg,
+                                     const mxArray* dynamic_g1_sparse_colptr_mx_arg,
+                                     std::vector<const mxArray*> dynamic_gN_sparse_indices_arg) :
     DynamicModelAC {order_arg, dynamic_g1_sparse_rowval_mx_arg, dynamic_g1_sparse_colval_mx_arg,
-                    dynamic_g1_sparse_colptr_mx_arg, dynamic_gN_sparse_indices_arg},
+                    dynamic_g1_sparse_colptr_mx_arg, move(dynamic_gN_sparse_indices_arg)},
     DynamicMFilename {modName + ".sparse.dynamic"}
 {
 }
diff --git a/mex/sources/libkorder/dynamic_m.hh b/mex/sources/libkorder/dynamic_m.hh
index 1e00eecdd5dbad6b5a62f3af6e4fd91ff9da12d5..46bdd3bfe718409cfe5e1dc683833c59d901e2b9 100644
--- a/mex/sources/libkorder/dynamic_m.hh
+++ b/mex/sources/libkorder/dynamic_m.hh
@@ -41,7 +41,7 @@ public:
                     const mxArray* dynamic_g1_sparse_rowval_mx_arg,
                     const mxArray* dynamic_g1_sparse_colval_mx_arg,
                     const mxArray* dynamic_g1_sparse_colptr_mx_arg,
-                    const std::vector<const mxArray*> dynamic_gN_sparse_indices_arg);
+                    std::vector<const mxArray*> dynamic_gN_sparse_indices_arg);
   void eval(const Vector& y, const Vector& x, const Vector& params, const Vector& ySteady,
             Vector& residual, const std::map<int, int>& dynToDynpp,
             TensorContainer<FSSparseTensor>& derivatives) noexcept(false) override;