diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx
index beb107095d5bf164486c40475aae73e72d5be770..1779f88336e3b7986dccdfd93485b07475779ba6 100644
--- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx
@@ -22,7 +22,6 @@
 #include "TriggerEDMCLIDs.h"
 
 #include "TFile.h"
-#include "TList.h"
 #include "TStreamerInfo.h"
 #include "PathResolver/PathResolver.h"
 
@@ -300,23 +299,21 @@ void TriggerEDMDeserialiserAlg::toBuffer( TriggerEDMDeserialiserAlg::PayloadIter
 
 void TriggerEDMDeserialiserAlg::add_bs_streamerinfos(){
   std::string extStreamerInfos = "bs-streamerinfos.root";
-  std::string extFile = PathResolver::find_file (extStreamerInfos, "DATAPATH");
-  ATH_MSG_DEBUG( "Using " << extFile );
-  TFile f(extFile.c_str());
-  TList *a = f.GetStreamerInfoList();
-  TIter nextinfo(a);
-  TStreamerInfo *inf;
-  while ((inf = (TStreamerInfo *)nextinfo()) != 0){
+  std::string extFilePath = PathResolver::find_file(extStreamerInfos, "DATAPATH");
+  ATH_MSG_DEBUG( "Using " << extFilePath );
+  TFile extFile(extFilePath.c_str());
+  m_streamerInfoList = std::unique_ptr<TList>(extFile.GetStreamerInfoList());
+  for(const auto&& infObj: *m_streamerInfoList) {
+    auto inf = (TStreamerInfo*)infObj;
     TString t_name=inf->GetName();
     if (t_name.BeginsWith("listOfRules")){
       ATH_MSG_WARNING( "Could not re-load  class " << t_name );
       continue;
     }
     inf->BuildCheck();
-    //this triggers a crash on lcg60
     TClass *cl = inf->GetClass();
     if (cl)
       ATH_MSG_DEBUG( "external TStreamerInfo for " << cl->GetName()
-		     << " checksum: " << inf->GetCheckSum()  );
+		     << " checksum: " << std::hex << inf->GetCheckSum()  );
   }
 }
diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.h b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.h
index 7dfcc464571f245342adf35408180851d01935c2..e0c03e0a506bf7674dabd801a45679a084ffe594 100644
--- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.h
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.h
@@ -12,6 +12,7 @@
 #include "AthenaKernel/IAthenaSerializeSvc.h"
 #include "TrigSerializeTP/TrigSerTPTool.h"
 
+#include "TList.h"
 
 
 /**
@@ -59,6 +60,8 @@ private:
   
   ToolHandle<TrigSerTPTool> m_tpTool{ this, "TPTool", "TrigSerTPTool/TrigSerTPTool", "Tool to do Transient/Persistent conversion (Old EDM)"};
 
+  std::unique_ptr<TList> m_streamerInfoList;
+
   typedef  std::vector<uint32_t> Payload;
   typedef  std::vector<uint32_t>::const_iterator PayloadIterator;