diff --git a/Generators/GenInterfaces/GenInterfaces/IxAODtoHepMCTool.h b/Generators/GenInterfaces/GenInterfaces/IxAODtoHepMCTool.h
index 2045eee2f551e395b1ece7c6bd78fe653e3fd42a..c673f6da67aef2c346cdfdb74ec02fec0688044c 100644
--- a/Generators/GenInterfaces/GenInterfaces/IxAODtoHepMCTool.h
+++ b/Generators/GenInterfaces/GenInterfaces/IxAODtoHepMCTool.h
@@ -25,13 +25,10 @@
 #include "xAODEventInfo/EventInfo.h"
 #include "xAODTruth/TruthEventContainer.h"
 
-#include "HepMC/GenEvent.h"
+#include "AtlasHepMC/GenEvent.h"
+#include "AtlasHepMC/GenParticle.h"
+#include "AtlasHepMC/GenVertex.h"
 
-namespace HepMC {
-  class GenEvent;
-  class GenParticle;
-  class GenVertex;
-}
 
 class IxAODtoHepMCTool : public virtual asg::IAsgTool {
  public:
diff --git a/Generators/TruthConverters/TruthConverters/xAODtoHepMCTool.h b/Generators/TruthConverters/TruthConverters/xAODtoHepMCTool.h
index 15aa09edbef47bc8fd8cfa8b19e597ec9614ac9f..c81acb12dcb8ceb740cacba354ea3f51e92f68f0 100644
--- a/Generators/TruthConverters/TruthConverters/xAODtoHepMCTool.h
+++ b/Generators/TruthConverters/TruthConverters/xAODtoHepMCTool.h
@@ -33,9 +33,9 @@ class xAODtoHepMCTool: public asg::AsgTool, public virtual IxAODtoHepMCTool {
 
  private:
    HepMC::GenEvent createHepMCEvent(const xAOD::TruthEvent* xEvt, const xAOD::EventInfo* eventInfo) const;
-   HepMC::GenVertex* vertexHelper(const xAOD::TruthVertex*,std::map<const xAOD::TruthVertex*,HepMC::GenVertex*>&,bool&) const;
-   HepMC::GenParticle* createHepMCParticle(const xAOD::TruthParticle*) const;
-   HepMC::GenVertex* createHepMCVertex(const xAOD::TruthVertex*) const;
+   HepMC::GenVertexPtr vertexHelper(const xAOD::TruthVertex*,std::map<const xAOD::TruthVertex*,HepMC::GenVertexPtr>&,bool&) const;
+   HepMC::GenParticlePtr createHepMCParticle(const xAOD::TruthParticle*) const;
+   HepMC::GenVertexPtr createHepMCVertex(const xAOD::TruthVertex*) const;
    void printxAODEvent(const xAOD::TruthEvent* event, const xAOD::EventInfo* eventInfo) const;
    
  private: