diff --git a/src/HeterogeneousModel.cc b/src/HeterogeneousModel.cc
index 369f0f426a201c4d910a6bdfd5c71e1de00ce5ed..a488792313d851a54212fdcefb0a7db18ae1765e 100644
--- a/src/HeterogeneousModel.cc
+++ b/src/HeterogeneousModel.cc
@@ -33,14 +33,6 @@ HeterogeneousModel::HeterogeneousModel(SymbolTable& symbol_table_arg,
 {
 }
 
-HeterogeneousModel::HeterogeneousModel(const HeterogeneousModel& m) :
-    ModelTree {m},
-    heterogeneity_dimension {m.heterogeneity_dimension},
-    deriv_id_table {m.deriv_id_table},
-    inv_deriv_id_table {m.inv_deriv_id_table}
-{
-}
-
 HeterogeneousModel&
 HeterogeneousModel::operator=(const HeterogeneousModel& m)
 {
diff --git a/src/HeterogeneousModel.hh b/src/HeterogeneousModel.hh
index d4eb7d88466a5abf8ee57ea878d735242388f543..ed8986ec9fffe2f053872c6ae35392440a93018a 100644
--- a/src/HeterogeneousModel.hh
+++ b/src/HeterogeneousModel.hh
@@ -35,7 +35,7 @@ public:
                      ExternalFunctionsTable& external_functions_table_arg,
                      HeterogeneityTable& heterogeneity_table_arg, int heterogeneity_dimension_arg);
 
-  HeterogeneousModel(const HeterogeneousModel& m);
+  HeterogeneousModel(const HeterogeneousModel& m) = default;
   HeterogeneousModel& operator=(const HeterogeneousModel& m);
 
   void computingPass(int derivsOrder, bool no_tmp_terms, bool use_dll);