diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx
index bb8b5598d053a16ece76a1db69f2ff4b98b99eaa..1c0f018dabcbf01f3932dee8fc0708e289a6cd8f 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx
@@ -868,6 +868,7 @@ InDet::CompetingTRT_DriftCirclesOnTrackTool::createSimpleCompetingROT(
   const InDet::TRT_DriftCircleOnTrack* dc1 = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*>
     ( ROTvector->at(0));
   if (!dc1) {
+    delete DCvector;
     throw std::logic_error("Not a TRT_DriftCircleOnTrack");
   }
   DCvector->push_back(dc1);
@@ -875,6 +876,7 @@ InDet::CompetingTRT_DriftCirclesOnTrackTool::createSimpleCompetingROT(
     const InDet::TRT_DriftCircleOnTrack* dc2
       = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*>( ROTvector->at(1));
     if (!dc2) {
+      delete DCvector;
       throw std::logic_error("Not a TRT_DriftCircleOnTrack");
     }
       DCvector->push_back(dc2);