diff --git a/DDG4/include/DDG4/DDG4Dict.h b/DDG4/include/DDG4/DDG4Dict.h
index 3598ccca6e3e7cf4fe9a73b3eb38c9e4b0f730a2..cb52beefd6032e6822686eb00be35cca41281099 100644
--- a/DDG4/include/DDG4/DDG4Dict.h
+++ b/DDG4/include/DDG4/DDG4Dict.h
@@ -64,10 +64,10 @@ namespace { class DDG4Dict {};   }
 
 /// Dictionaires for Geant4 particles
 #pragma link C++ class dd4hep::sim::ParticleExtension+;
+#pragma link C++ class std::unique_ptr<dd4hep::sim::ParticleExtension>+;
 
 /// Auto-pointers related. ROOT cannot handle I/O!
 #pragma link C++ class dd4hep::dd4hep_ptr<dd4hep::sim::DataExtension>;
-#pragma link C++ class dd4hep::dd4hep_ptr<dd4hep::sim::ParticleExtension>;
 
 #pragma link C++ class dd4hep::sim::Geant4Particle+;
 #pragma link C++ class std::vector<dd4hep::sim::Geant4Particle*>+;
diff --git a/DDG4/include/DDG4/Geant4Particle.h b/DDG4/include/DDG4/Geant4Particle.h
index 06f714471b20b8709019987b3ee729b6dd555fd7..77bfc55866e4bb69403491cb652c65a1bd9d0bba 100644
--- a/DDG4/include/DDG4/Geant4Particle.h
+++ b/DDG4/include/DDG4/Geant4Particle.h
@@ -15,7 +15,6 @@
 #define DDG4_GEANT4PARTICLE_H
 
 // Framework include files
-#include "DD4hep/Memory.h"
 
 // ROOT includes
 #include "Math/Vector4D.h"
@@ -28,6 +27,7 @@ class G4VProcess;
 #include <set>
 #include <map>
 #include <vector>
+#include <memory>
 
 /// Namespace for the AIDA detector description toolkit
 namespace dd4hep {
@@ -140,7 +140,7 @@ namespace dd4hep {
       Particles daughters;
 
       /// User data extension if required
-      dd4hep_ptr<ParticleExtension> extension  { };
+      std::unique_ptr<ParticleExtension> extension  { };
       /// Reference to the G4VProcess, which created this track
       const G4VProcess *process = 0;             //! not persistent