diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/ISF_FatrasTools/TransportTool.h b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/ISF_FatrasTools/TransportTool.h
index 8c4f92f2ee228afb4b1665d24205648edcf2e173..d277bbff3ee0142f7c0e32b532d42c3775b223c5 100755
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/ISF_FatrasTools/TransportTool.h
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/ISF_FatrasTools/TransportTool.h
@@ -89,8 +89,8 @@ namespace iFatras
 
      /** Random Generator service  */
      ServiceHandle<IAtRndmGenSvc>                 m_rndGenSvc;
-     CLHEP::HepRandomEngine*                             m_randomEngine;
-     std::string                                  m_randomEngineName;         //!< Name of the random number stream
+     CLHEP::HepRandomEngine*                      m_randomEngine;     //!< This pointer is owned by the IRndmGenSvc instance
+     std::string                                  m_randomEngineName; //!< Name of the random number stream
 
 
     /** Validation output with histogram service */
diff --git a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/TransportTool.cxx b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/TransportTool.cxx
index 26c74520a318bc55e62cc97168b3c967c702cb4b..6115d5f183fee2c17a3705725b6f711e05d12043 100755
--- a/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/TransportTool.cxx
+++ b/Simulation/ISF/ISF_Fatras/ISF_FatrasTools/src/TransportTool.cxx
@@ -45,8 +45,8 @@ iFatras::TransportTool::TransportTool( const std::string& t,
                                       const std::string& n,
                                       const IInterface*  p )
  : base_class(t,n,p),
-   m_rndGenSvc("AtDSFMTGenSvc", n), 
-   m_randomEngine(0),
+   m_rndGenSvc("AtDSFMTGenSvc", n),
+   m_randomEngine(nullptr),
    m_randomEngineName("FatrasRnd"),
    m_validationOutput(false),
    m_validationTool(""),
@@ -91,7 +91,6 @@ iFatras::TransportTool::TransportTool( const std::string& t,
  *=======================================================================*/
 iFatras::TransportTool::~TransportTool()
 {
-  delete m_randomEngine;
 }
 
 /*=========================================================================
diff --git a/Tools/FullChainTransforms/share/skeleton.EVGENtoRDO.py b/Tools/FullChainTransforms/share/skeleton.EVGENtoRDO.py
index 1ffe59fa2ee59e2cd39c84121e5aa368ee41e074..31e3b8e94d1af5685f1517cd17d7b4b3a780ffda 100644
--- a/Tools/FullChainTransforms/share/skeleton.EVGENtoRDO.py
+++ b/Tools/FullChainTransforms/share/skeleton.EVGENtoRDO.py
@@ -140,6 +140,15 @@ try:
     configureFlags = getattr(FlagSetters, ISF_Flags.Simulator.configFlagsMethodName(), None)
     if configureFlags is not None:
         configureFlags()
+    possibleSubDetectors=['pixel','SCT','TRT','BCM','Lucid','ZDC','ALFA','AFP','FwdRegion','LAr','HGTD','Tile','MDT','CSC','TGC','RPC','Micromegas','sTGC','Truth']
+    for subdet in possibleSubDetectors:
+        simattr = "simulate."+subdet+"_on"
+        simcheck = getattr(DetFlags, simattr, None)
+        if simcheck is not None and simcheck():
+            attrname = subdet+"_setOn"
+            checkfn = getattr(DetFlags, attrname, None)
+            if checkfn is not None:
+                checkfn()
 except:
     ## Select detectors
     if 'DetFlags' not in dir():
@@ -148,10 +157,14 @@ except:
         DetFlags.all_setOn()
     DetFlags.LVL1_setOff() # LVL1 is not part of G4 sim
     DetFlags.Truth_setOn()
-    DetFlags.Forward_setOff() # Forward dets are off by default
-    checkHGTDOff = getattr(DetFlags, 'HGTD_setOff', None)
-    if checkHGTDOff is not None:
-        checkHGTDOff() #Default for now
+
+DetFlags.Forward_setOff() # Forward dets are off by default
+DetFlags.Micromegas_setOff()
+DetFlags.sTGC_setOff()
+DetFlags.FTK_setOff()
+checkHGTDOff = getattr(DetFlags, 'HGTD_setOff', None)
+if checkHGTDOff is not None:
+    checkHGTDOff() #Default for now
 
 from AthenaCommon.DetFlags import DetFlags
 DetFlags.Print()