diff --git a/src/cats/configuration/configuration.c b/src/cats/configuration/configuration.c
index 6d6fb2af6824235e861c56bdd6f93df2d5b257e6..689e5b52ef349dd483c7ef4928b450f155eac581 100644
--- a/src/cats/configuration/configuration.c
+++ b/src/cats/configuration/configuration.c
@@ -301,6 +301,8 @@ void cleanup_configuration(struct cats_configuration **conf_orig)
         free(conf->global_stats.populated_by_classes);
         free_string_array(&conf->output.needed_output_directories);
         free_string_array(&conf->output.needed_module_output_directories);
+        free_string_array(&conf->overlays.registered_custom_overlay_names);
+
         free(conf->param);
         conf->param = NULL;
         free(conf->run_name);
diff --git a/src/cats/configuration/load_configuration.c b/src/cats/configuration/load_configuration.c
index 8fa69006c97af31901e61a2ae52c88625f6caf04..a6f431c38deb672830ff5577f7a19d7e0434519d 100644
--- a/src/cats/configuration/load_configuration.c
+++ b/src/cats/configuration/load_configuration.c
@@ -84,7 +84,7 @@ load_configuration_from_file(const char *filename, const struct program_options
 
         conf->command_line_options = *command_line_options;
         if (command_line_options->need_conf) {
-                conf->command_line_options.configuration_file = strdup(command_line_options->configuration_file);
+                //conf->command_line_options.configuration_file = strdup(command_line_options->configuration_file);
         } else {
                 conf->command_line_options.configuration_file = strdup("auto-generated");
         }
diff --git a/src/cats/configuration/load_configuration_overlays.c b/src/cats/configuration/load_configuration_overlays.c
index bbacc6f7e1b1828624bd3efdbb463d9cb2e68028..b60962dede596ab20468343d33ae1627153b22a5 100644
--- a/src/cats/configuration/load_configuration_overlays.c
+++ b/src/cats/configuration/load_configuration_overlays.c
@@ -102,6 +102,7 @@ void load_overlay_configuration(struct cats_configuration *conf, struct cats_ini
                                 exit(EXIT_FAILURE);
                 }
                 free(type_name);
+                free(overlay_name);
         }
 
         free_string_array(&overlay_names);
diff --git a/src/cats/data/cats_global.c b/src/cats/data/cats_global.c
index c18ad9e13ffc2402d82a6818acac4104ee57cf3a..c59722c83968df0b8284a0019fe280352f5a5072 100644
--- a/src/cats/data/cats_global.c
+++ b/src/cats/data/cats_global.c
@@ -78,6 +78,7 @@ _Noreturn void exit_cats(int status)
 
         exit(status);
 
+
 }
 
 
diff --git a/src/cats/lambda/lambda.c b/src/cats/lambda/lambda.c
index cbd08c651b552de9fba6dea1b87fbe379c1ffb82..8c1e371b43dd459e005bb06eff0a53f282b9d5eb 100644
--- a/src/cats/lambda/lambda.c
+++ b/src/cats/lambda/lambda.c
@@ -65,7 +65,7 @@ cats_dt_rates calculate_lambda(struct cats_configuration *conf, struct lambda_pa
         //
 
         double *matrix_copy = NULL;
-        matrix_copy = copy_matrix(matrix, N, N);
+
 
         if (silent == false || conf->command_line_options.debug_flags & DEBUG_LAMBDA) {
                 matrix_copy = copy_matrix(matrix, N, N);