diff --git a/reco/tasks/CbmTaskMakeRecoEvents.cxx b/reco/tasks/CbmTaskMakeRecoEvents.cxx
index d4aa09a0c738870f8abfe25ab00ef9bf01de2176..9fa1a0bdc30737543eeaafb6b60e5a0784964b5e 100644
--- a/reco/tasks/CbmTaskMakeRecoEvents.cxx
+++ b/reco/tasks/CbmTaskMakeRecoEvents.cxx
@@ -45,9 +45,16 @@ void CbmTaskMakeRecoEvents::Exec(Option_t*)
   if (!fDigiEvents) return;
 
   // --- Clear output arrays
+  fT0Digis->clear();
   fStsDigis->clear();
-  fRecoEvents->Clear();
-
+  fRichDigis->clear();
+  fMuchDigis->clear();
+  fTrdDigis->clear();
+  fTofDigis->clear();
+  fPsdDigis->clear();
+
+  //fRecoEvents->Clear(); //causes memory leak
+  fRecoEvents->Delete();
 
   // --- Event loop
   Int_t eventNr = 0;