diff --git a/DDG4/edm4hep/Geant4Output2EDM4hep.cpp b/DDG4/edm4hep/Geant4Output2EDM4hep.cpp
index 55928a950b7a443555c4ed9a617469f91f8969a8..4e8f9453b9d5357bf328d2cd22ce5c858b9701d2 100644
--- a/DDG4/edm4hep/Geant4Output2EDM4hep.cpp
+++ b/DDG4/edm4hep/Geant4Output2EDM4hep.cpp
@@ -48,11 +48,8 @@ namespace dd4hep {
     protected:
       using writer_t = podio::ROOTFrameWriter;
       using stringmap_t = std::map< std::string, std::string >;
-      using trackerptr_t = std::unique_ptr< edm4hep::SimTrackerHitCollection >;
-      using trackermap_t = std::map< std::string, trackerptr_t >;
-      using calorimeterptr_t = std::unique_ptr< edm4hep::SimCalorimeterHitCollection >;
-      using contributionsptr_t = std::unique_ptr< edm4hep::CaloHitContributionCollection >;
-      using calorimeterpair_t = std::pair< calorimeterptr_t, contributionsptr_t >;
+      using trackermap_t = std::map< std::string, edm4hep::SimTrackerHitCollection >;
+      using calorimeterpair_t = std::pair< edm4hep::SimCalorimeterHitCollection, edm4hep::CaloHitContributionCollection >;
       using calorimetermap_t = std::map< std::string, calorimeterpair_t >;
       std::unique_ptr<writer_t>     m_file  { };
       podio::Frame                  m_frame { };
@@ -447,10 +444,6 @@ void Geant4Output2EDM4hep::saveCollection(OutputContext<G4Event>& /*ctxt*/, G4VH
   debug("+++ Saving EDM4hep collection %s with %d entries.", colName.c_str(), int(nhits));
   //-------------------------------------------------------------------
   if( typeid( Geant4Tracker::Hit ) == coll->type().type()  ){
-    // https://jguegant.github.io/blogs/tech/performing-try-emplace.html
-    if (m_trackerHits.find(colName) == m_trackerHits.end()) {
-      m_trackerHits[colName] = std::make_unique< edm4hep::SimTrackerHitCollection >();
-    }
     for(unsigned i=0 ; i < nhits ; ++i){
       auto sth = m_trackerHits[colName]->create();
       const Geant4Tracker::Hit* hit = coll->hit(i);
@@ -480,13 +473,6 @@ void Geant4Output2EDM4hep::saveCollection(OutputContext<G4Event>& /*ctxt*/, G4VH
   else if( typeid( Geant4Calorimeter::Hit ) == coll->type().type() ){
     Geant4Sensitive* sd = coll->sensitive();
     int hit_creation_mode = sd->hitCreationMode();
-
-    if (m_calorimeterHits.find(colName) == m_calorimeterHits.end()) {
-      m_calorimeterHits[colName] = std::make_pair(
-        std::make_unique< edm4hep::SimCalorimeterHitCollection >(),
-        std::make_unique< edm4hep::CaloHitContributionCollection >()
-      );
-    }
     for(unsigned i=0 ; i < nhits ; ++i){
       auto sch = m_calorimeterHits[colName].first->create();
       const Geant4Calorimeter::Hit* hit = coll->hit(i);