diff --git a/mex/sources/k_order_welfare/objective_m.hh b/mex/sources/k_order_welfare/objective_m.hh
index 0e999c26d8c4a9f995691a916a4cd36d2a2818a4..fec3ce89ae2c2e6c494431a955353b3a6d1b51b3 100644
--- a/mex/sources/k_order_welfare/objective_m.hh
+++ b/mex/sources/k_order_welfare/objective_m.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2021 Dynare Team
+ * Copyright © 2021-2023 Dynare Team
  *
  * This file is part of Dynare.
  *
@@ -37,7 +37,6 @@ private:
 
 public:
   explicit ObjectiveMFile(const std::string& modName, int ntt_arg);
-  virtual ~ObjectiveMFile() = default;
   void eval(const Vector& y, const Vector& x, const Vector& params, Vector& residual,
             std::vector<TwoDMatrix>& md) override;
 };
diff --git a/mex/sources/libkorder/dynamic_dll.hh b/mex/sources/libkorder/dynamic_dll.hh
index bd1d10f8550b82b30a57b75e0de2a97a431df3fa..7b8af3f68b02beebc6fb30149d82e3cf043dcf07 100644
--- a/mex/sources/libkorder/dynamic_dll.hh
+++ b/mex/sources/libkorder/dynamic_dll.hh
@@ -101,7 +101,7 @@ private:
 public:
   // construct and load Dynamic model DLL
   explicit DynamicModelDLL(const std::string& fname, int ntt_arg, int order);
-  virtual ~DynamicModelDLL();
+  ~DynamicModelDLL() override;
 
   void eval(const Vector& y, const Vector& x, const Vector& params, const Vector& ySteady,
             Vector& residual, std::vector<TwoDMatrix>& md) override;
diff --git a/mex/sources/libkorder/dynamic_m.hh b/mex/sources/libkorder/dynamic_m.hh
index 7cd6af78efa330e8c806d3d9f52e24faf25e1f67..697686f0afb62d77bbafcdefc043d6667c01d279 100644
--- a/mex/sources/libkorder/dynamic_m.hh
+++ b/mex/sources/libkorder/dynamic_m.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010-2022 Dynare Team
+ * Copyright © 2010-2023 Dynare Team
  *
  * This file is part of Dynare.
  *
@@ -45,7 +45,6 @@ private:
 
 public:
   explicit DynamicModelMFile(const std::string& modName, int ntt_arg);
-  virtual ~DynamicModelMFile() = default;
   void eval(const Vector& y, const Vector& x, const Vector& params, const Vector& ySteady,
             Vector& residual, std::vector<TwoDMatrix>& md) override;
 };
diff --git a/mex/sources/perfect_foresight_problem/DynamicModelCaller.hh b/mex/sources/perfect_foresight_problem/DynamicModelCaller.hh
index 7eaa4da80c531dd3066daaddd5f02cd9068e51b7..b157c2c6e920e8e4f23080886f5a13f8c3340873 100644
--- a/mex/sources/perfect_foresight_problem/DynamicModelCaller.hh
+++ b/mex/sources/perfect_foresight_problem/DynamicModelCaller.hh
@@ -80,7 +80,6 @@ public:
   DynamicModelDllCaller(size_t ntt, mwIndex ny, mwIndex nx, const double* params_arg,
                         const double* steady_state_arg, const int32_T* g1_sparse_colptr_arg,
                         bool linear_arg, bool compute_jacobian_arg);
-  virtual ~DynamicModelDllCaller() = default;
   [[nodiscard]] double*
   y() override
   {