diff --git a/Trigger/TrigConfiguration/TrigConfStorage/src/L1TopoMenuLoader.cxx b/Trigger/TrigConfiguration/TrigConfStorage/src/L1TopoMenuLoader.cxx
index 769f8dbaec292d0e81f371776b2a86852395c93d..34183f582c52b94075bf4464e998791cb423d204 100644
--- a/Trigger/TrigConfiguration/TrigConfStorage/src/L1TopoMenuLoader.cxx
+++ b/Trigger/TrigConfiguration/TrigConfStorage/src/L1TopoMenuLoader.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "L1TopoMenuLoader.h"
@@ -702,14 +702,12 @@ bool TrigConf::L1TopoMenuLoader::loadTopoConfig( TXC::L1TopoMenu& tcaTarget) {
       fillQuery(query0.get(), attList0);
       coral::ICursor& cursor0 = query0->execute();
 
-      TXC::L1TopoConfigGlobal* l1topoconfigglobal = new TXC::L1TopoConfigGlobal();
       while(cursor0.next()){
          const coral::AttributeList& row0 = cursor0.currentRow();
 
          string tc_name = row0["TC.TC_NAME"].data<string>();
          string tc_value = row0["TC.TC_VALUE"].data<string>();
 
-         l1topoconfigglobal->addTopoConfigElement(tc_name,tc_value);
          tcaTarget.addL1TopoConfigGlobal(TXC::TopoConfigElement(tc_name,tc_value));
       }
 
diff --git a/Trigger/TrigConfiguration/TrigConfStorage/src/LogicExpression.cxx b/Trigger/TrigConfiguration/TrigConfStorage/src/LogicExpression.cxx
index 1f077490875a2a50d844ff1fec3e4860d5727399..385a070811f7358a3a4066f82ee2819c21c76abb 100755
--- a/Trigger/TrigConfiguration/TrigConfStorage/src/LogicExpression.cxx
+++ b/Trigger/TrigConfiguration/TrigConfStorage/src/LogicExpression.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "./LogicExpression.h"
@@ -25,7 +25,9 @@ LogicExpression::LogicExpression(const std::string& name, std::ostream & o)
 {}
 
 
-LogicExpression::~LogicExpression() {}
+LogicExpression::~LogicExpression()
+{
+}
 
 
 bool
@@ -295,6 +297,9 @@ LogicExpression::print(const std::string& indent) const {
 void
 LogicExpression::clear() {
    m_State = kELEMENT;
+   for (LogicExpression* e : m_SubLogics) {
+     delete e;
+   }
    m_SubLogics.clear();
    m_Element = "";
 }
diff --git a/Trigger/TrigConfiguration/TrigConfStorage/src/ThresholdConfigLoader.cxx b/Trigger/TrigConfiguration/TrigConfStorage/src/ThresholdConfigLoader.cxx
index 40d7d496d29bbf57e59dbcd825ce1d108e2f981b..1a136dd22ac8cb86b94d742e3cd73d09c7995976 100755
--- a/Trigger/TrigConfiguration/TrigConfStorage/src/ThresholdConfigLoader.cxx
+++ b/Trigger/TrigConfiguration/TrigConfStorage/src/ThresholdConfigLoader.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "./ThresholdConfigLoader.h"
@@ -416,7 +416,7 @@ bool TrigConf::ThresholdConfigLoader::load( ThresholdConfig& thrConfig ) {
             //tt->setNumberofValues(numberofvalues);
             // trigger thresholds sorted by type
             thrConfig.addTriggerThreshold(tt);
-            tt = new TriggerThreshold();
+            tt = nullptr;
          }
 
          nRowsLoop2 = row["TT.L1TT_ID"].data<int>();