diff --git a/Generators/Pythia8_i/Pythia8_i/Pythia8_i.h b/Generators/Pythia8_i/Pythia8_i/Pythia8_i.h
index 820e763424fc702c4e644fc0a846e4eb6c576c56..101697c36a2c1a8ebb934edfca719f74629e8770 100644
--- a/Generators/Pythia8_i/Pythia8_i/Pythia8_i.h
+++ b/Generators/Pythia8_i/Pythia8_i/Pythia8_i.h
@@ -99,6 +99,8 @@ private:
   double m_version;
   
   std::vector<std::string> m_commands;
+  std::vector<std::string> m_userParams;
+  std::vector<std::string> m_userModes;
   
   enum PDGID {PROTON=2212, ANTIPROTON=-2212, NEUTRON=2112, ANTINEUTRON=-2112, MUON=13, ANTIMUON=-13, ELECTRON=11, POSITRON=-11, INVALID=0};
   
@@ -131,7 +133,8 @@ private:
   
   std::string m_userHook;
   
-  std::vector<Pythia8::UserHooks*> m_userHooksPtrs;
+  Pythia8::UserHooks *m_userHookPtr;
+  //std::vector<Pythia8::UserHooks*> m_userHooksPtrs;
   
   std::string m_userResonances;
   
diff --git a/Generators/Pythia8_i/src/Pythia8_i.cxx b/Generators/Pythia8_i/src/Pythia8_i.cxx
index ac4236b5d9b7d95a6d8259a2cfcfd175278abb22..a87462771e3667d7ba3e1662662d6c81e6eeef30 100644
--- a/Generators/Pythia8_i/src/Pythia8_i.cxx
+++ b/Generators/Pythia8_i/src/Pythia8_i.cxx
@@ -83,10 +83,11 @@ Pythia8_i::~Pythia8_i() {
   delete m_atlasRndmEngine;
   
   if(m_procPtr != 0)     delete m_procPtr;
-  
-  for(Pythia8::UserHooks *ptr: m_userHooksPtrs){
-    delete ptr;
-  }
+  if(m_userHookPtr != 0) delete m_userHookPtr;
+
+  //  for(Pythia8::UserHooks *ptr: m_userHooksPtrs){
+  // delete ptr;
+  //}
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -467,13 +468,13 @@ StatusCode Pythia8_i::fillEvt(HepMC::GenEvent *evt){
 
   size_t firstWeight = (m_doLHE3Weights)? 1: 0;
   
-  for(int iw = firstWeight; iw != m_pythia.info.nWeights(); ++iw){
+  for(int iw = firstWeight; iw != m_pythia->info.nWeights(); ++iw){
     
-    std::string wtName = ((int)m_showerWeightNames.size() == m_pythia.info.nWeights())? m_showerWeightNames[iw]: "ShowerWt_" + std::to_string(iw);
+    std::string wtName = ((int)m_showerWeightNames.size() == m_pythia->info.nWeights())? m_showerWeightNames[iw]: "ShowerWt_" + std::to_string(iw);
     
-    if(m_pythia.info.nWeights() != 1){
+    if(m_pythia->info.nWeights() != 1){
       if(m_internal_event_number == 1) m_weightIDs.push_back(wtName);
-      evt->weights()[wtName] = mergingWeight*m_pythia.info.weight(iw);
+      evt->weights()[wtName] = mergingWeight*m_pythia->info.weight(iw);
     }else{
       evt->weights().push_back(eventWeight);
     }