diff --git a/bin/tadah_cli.cpp b/bin/tadah_cli.cpp
index 252debb65ae5ccea7971ec38fa4be6490f8f5ef7..2c1a990d3b02bca7c469fa773b2338ad38e8fc7c 100644
--- a/bin/tadah_cli.cpp
+++ b/bin/tadah_cli.cpp
@@ -1629,6 +1629,7 @@ int TadahCLI::subsub_bf() {
   // TADAH_GNUPLOT
 
   if (verbose) std::cout << timer_tot.to_string() << std::endl;
+  if (fcut) delete fcut;
   return 0;
 }
 int TadahCLI::subsub_twobody() {
@@ -1770,6 +1771,7 @@ int TadahCLI::subsub_cutoff() {
       outfile << std::endl;
     }
     outfile << std::endl << std::endl;
+    if (cut) delete cut;
   }
   outfile.flush();
 
diff --git a/tests/test_factory_models.cpp b/tests/test_factory_models.cpp
index c11c7ea7b6ce27b98928f4437bf55d76e7ffc918..27471f205bfbe95c200dddadd3d13006a8c1a5e7 100644
--- a/tests/test_factory_models.cpp
+++ b/tests/test_factory_models.cpp
@@ -42,16 +42,23 @@ TEST_CASE( "Testing Factory: Models", "[factory_models]" ) {
     DM_Function_Base *fb = CONFIG::factory<DM_Function_Base,Config&>(b.first,config);
     for (auto c:CONFIG::Registry<M_Tadah_Base,DM_Function_Base&,Config&>::registry) {
       if (dynamic_cast<Kern_Base*>(fb) != nullptr && c.first=="M_KRR") {
-        REQUIRE(CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>(c.first,*fb,config));
+        M_Tadah_Base *tdb=nullptr;
+        REQUIRE((tdb=CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>(c.first,*fb,config)));
+        if (tdb) delete tdb;
       }
       else if (dynamic_cast<BF_Base*>(fb) != nullptr && c.first=="M_BLR") {
-        REQUIRE(CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>(c.first,*fb,config));
+        M_Tadah_Base *tdb=nullptr;
+        REQUIRE((tdb=CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>(c.first,*fb,config)));
+        if (tdb) delete tdb;
       }
       else {
-        REQUIRE_THROWS_AS((CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>(c.first,*fb,config)),
+        M_Tadah_Base *tdb=nullptr;
+        REQUIRE_THROWS_AS((tdb=CONFIG::factory<M_Tadah_Base,DM_Function_Base&,Config&>(c.first,*fb,config)),
                           std::invalid_argument);
+        if (tdb) delete tdb;
       }
     }
+    if (fb) delete fb;
   }
 
   //config = Config("datasets/config");