diff --git a/Generators/GeneratorObjectsTPCnv/GeneratorObjectsTPCnv/HepMcParticleLinkCnv_p1.h b/Generators/GeneratorObjectsTPCnv/GeneratorObjectsTPCnv/HepMcParticleLinkCnv_p1.h
index 072d0a09732f4db125e2a3c376ab161a46e2bfe0..3639f774cf59341af1e6f2aa4687b9c8dbb281b5 100755
--- a/Generators/GeneratorObjectsTPCnv/GeneratorObjectsTPCnv/HepMcParticleLinkCnv_p1.h
+++ b/Generators/GeneratorObjectsTPCnv/GeneratorObjectsTPCnv/HepMcParticleLinkCnv_p1.h
@@ -18,11 +18,7 @@
 #include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
 
 // GeneratorObjects includes
-#define private public
-#define protected public
 #include "GeneratorObjects/HepMcParticleLink.h"
-#undef private
-#undef protected
 
 // GeneratorObjectsAthenaPool includes
 #include "GeneratorObjectsTPCnv/HepMcParticleLink_p1.h"
diff --git a/Generators/GeneratorObjectsTPCnv/src/HepMcParticleLinkCnv_p1.cxx b/Generators/GeneratorObjectsTPCnv/src/HepMcParticleLinkCnv_p1.cxx
index a7bea79f7e115f4d1e1b01d340e8650e4b9e3eff..77481f2295b7b95a8088c284f8eed6ec36c2c447 100755
--- a/Generators/GeneratorObjectsTPCnv/src/HepMcParticleLinkCnv_p1.cxx
+++ b/Generators/GeneratorObjectsTPCnv/src/HepMcParticleLinkCnv_p1.cxx
@@ -32,6 +32,8 @@ void HepMcParticleLinkCnv_p1::persToTrans( const HepMcParticleLink_p1* persObj,
 {
 //   msg << MSG::DEBUG << "Loading HepMcParticleLink from persistent state..."
 //       << endreq;
+  if (transObj->m_ptrs.m_dict == nullptr)
+    transObj->init_dict();
   transObj->m_extBarcode = 
     HepMcParticleLink::ExtendedBarCode( persObj->m_barcode,
 					persObj->m_mcEvtIndex );