diff --git a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
index 6c91dddf0ba35c4d7216516ee5f995f8d1f8a927..76edae18636f999f22d179026a9314a2efe5ef92 100644
--- a/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/ITkTrackRecoConfig.py
@@ -93,7 +93,10 @@ def ITkStoreTrackSeparateContainerCfg(flags, TrackContainer="",
                                       ClusterSplitProbContainer=""):
     result = ComponentAccumulator()
     extension = flags.Tracking.ActiveConfig.extension
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     
     if doTrackOverlay:
         # schedule merger to combine signal and background tracks
@@ -151,7 +154,10 @@ def ITkTrackRecoPassCfg(flags, extension="",
         StatTrackTruthCollections = []
 
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
 
     TrackContainer = "Resolved" + extension + "Tracks"
     SiSPSeededTracks = "SiSPSeeded" + extension + "Tracks"
@@ -204,7 +210,10 @@ def ITkTrackFinalCfg(flags,
         StatTrackTruthCollections = []
 
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
 
     TrackContainer = "CombinedITkTracks"
     if doTrackOverlay:
diff --git a/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py b/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py
index c48505bf4d1f93c4abdc88b5a4b0b449a23ee556..f89c17fc1aaf35304922a712c4081f03d886bb1f 100644
--- a/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py
+++ b/InnerDetector/InDetConfig/python/InDetPrepRawDataFormationConfig.py
@@ -37,7 +37,10 @@ def ITkXAODToInDetClusterConversionCfg(flags, name="ITkXAODToInDetClusterConvers
 
 def PixelClusterizationCfg(flags, name = "InDetPixelClusterization", **kwargs):
     acc = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = flags.Overlay.SigPrefix if doTrackOverlay else ''
 
     if "clusteringTool" not in kwargs:
@@ -93,7 +96,10 @@ def TrigPixelClusterizationCfg(flags, RoIs, name="InDetPixelClusterization", **k
 
 def ITkPixelClusterizationCfg(flags, name = "ITkPixelClusterization", **kwargs):
     acc = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = flags.Overlay.SigPrefix if doTrackOverlay else ''
 
     if "clusteringTool" not in kwargs:
@@ -125,7 +131,10 @@ def ITkTrigPixelClusterizationCfg(flags, name = "ITkTrigPixelClusterization", ro
 
 def SCTClusterizationCfg(flags, name="InDetSCT_Clusterization", **kwargs):
     acc = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = flags.Overlay.SigPrefix if doTrackOverlay else ''
 
     if "conditionsTool" not in kwargs:
@@ -186,7 +195,10 @@ def TrigSCTClusterizationCfg(flags, RoIs, name="InDetSCT_Clusterization", **kwar
 
 def ITkStripClusterizationCfg(flags, name="ITkStripClusterization", **kwargs):
     acc = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = flags.Overlay.SigPrefix if doTrackOverlay else ''
 
     if "conditionsTool" not in kwargs:
@@ -221,7 +233,10 @@ def ITkTrigStripClusterizationCfg(flags, name="ITkTrigStripClusterization", rois
 
 def InDetTRT_RIO_MakerCfg(flags, name = "InDetTRT_RIO_Maker", **kwargs):
     acc = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = flags.Overlay.SigPrefix if doTrackOverlay else ''
     if "TRT_DriftCircleTool" not in kwargs:
         from InDetConfig.TRT_DriftCircleToolConfig import TRT_DriftCircleToolCfg
diff --git a/InnerDetector/InDetConfig/python/TrackRecoConfig.py b/InnerDetector/InDetConfig/python/TrackRecoConfig.py
index 44f55d536350163c602585700394ec74024c4d7a..a86927e8bbbaafa368129d2e6e159f4e2c7f1dfc 100644
--- a/InnerDetector/InDetConfig/python/TrackRecoConfig.py
+++ b/InnerDetector/InDetConfig/python/TrackRecoConfig.py
@@ -293,7 +293,10 @@ def TRTStandalonePassRecoCfg(flags,
 def StoreTrackSeparateContainerCfg(flags, TrackContainer="",
                                    ClusterSplitProbContainer=""):
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
 
     # Dummy Merger to fill additional info
     # for PRD-associated pixel tracklets
@@ -404,7 +407,10 @@ def TrackRecoPassCfg(flags, extension="",
                      StatTrackTruthCollections=None,
                      ClusterSplitProbContainer=""):
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     if InputCombinedInDetTracks is None:
         InputCombinedInDetTracks = []
     if InputExtendedInDetTracks is None:
@@ -504,7 +510,10 @@ def TrackFinalCfg(flags,
                   StatTrackCollections=None,
                   StatTrackTruthCollections=None):
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
 
     if InputCombinedInDetTracks is None:
         InputCombinedInDetTracks = []
diff --git a/Tracking/TrkConfig/python/TrkTrackCollectionMergerConfig.py b/Tracking/TrkConfig/python/TrkTrackCollectionMergerConfig.py
index 8b1c9ad2b1aa8701f40b8ab64d1a07047fa8d6fd..62219b25b67c678f8e5295c744cf65fbd762cd4e 100644
--- a/Tracking/TrkConfig/python/TrkTrackCollectionMergerConfig.py
+++ b/Tracking/TrkConfig/python/TrkTrackCollectionMergerConfig.py
@@ -9,7 +9,10 @@ def TrackCollectionMergerAlgCfg(flags, name="InDetTrackCollectionMerger",
                                 OutputCombinedTracks="",
                                 **kwargs):
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = 'Sig_' if doTrackOverlay else ''
 
     kwargs.setdefault("TracksLocation", InputCombinedTracks)
@@ -30,7 +33,10 @@ def ITkTrackCollectionMergerAlgCfg(flags, name="ITkTrackCollectionMerger",
                                    OutputCombinedTracks="CombinedITkTracks",
                                    **kwargs):
     result = ComponentAccumulator()
-    doTrackOverlay = getattr(flags.TrackOverlay, "ActiveConfig.doTrackOverlay", None) or flags.Overlay.doTrackOverlay
+    if hasattr(flags.TrackOverlay, "ActiveConfig"):
+       doTrackOverlay = getattr(flags.TrackOverlay.ActiveConfig, "doTrackOverlay", None)
+    else:
+       doTrackOverlay = flags.Overlay.doTrackOverlay
     prefix = flags.Overlay.SigPrefix if doTrackOverlay else ''
 
     kwargs.setdefault("TracksLocation", InputCombinedTracks)