diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py
index 8c1925173755198b8fadf7c545271f0104f392c5..760a1a4ace1942ac2d5a4aa3a5633dff233efdef 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/python/SCT_RawDataByteStreamCnvConfig.py
@@ -7,33 +7,33 @@ from AthenaConfiguration.ComponentFactory import CompFactory
 from InDetConfig.InDetRecToolConfig import SCT_CablingToolCfg, SCT_ConfigurationConditionsToolCfg
 from SCT_GeoModel.SCT_GeoModelConfig import SCT_GeometryCfg
 
-def SCT_RodDecoderCfg(flags):
+def SCT_RodDecoderCfg(flags, prefix="InDet", suffix="", **kwargs):
     acc = ComponentAccumulator()
     acc.merge(SCT_GeometryCfg(flags))
-    SCT_CablingTool = acc.popToolsAndMerge(SCT_CablingToolCfg(flags))
-    SCT_ConfigurationConditionsTool = acc.popToolsAndMerge(SCT_ConfigurationConditionsToolCfg(flags))
-    acc.setPrivateTools(CompFactory.SCT_RodDecoder(name="InDetSCTRodDecoder",
-                                                   SCT_CablingTool=SCT_CablingTool,
-                                                   ConfigTool=SCT_ConfigurationConditionsTool))
+    kwargs.setdefault("SCT_CablingTool", acc.popToolsAndMerge(SCT_CablingToolCfg(flags)))
+    kwargs.setdefault("ConfigTool", acc.popToolsAndMerge(SCT_ConfigurationConditionsToolCfg(flags)))
+    acc.setPrivateTools(CompFactory.SCT_RodDecoder(name=prefix+"SCTRodDecoder"+suffix,
+                                                   **kwargs))
     return acc
 
-def SCTRawDataProviderToolCfg(flags):
+def SCTRawDataProviderToolCfg(flags, prefix="InDet", suffix="", **kwargs):
     acc = ComponentAccumulator()
-    InDetSCTRodDecoder = acc.popToolsAndMerge(SCT_RodDecoderCfg(flags))
-    acc.setPrivateTools(CompFactory.SCTRawDataProviderTool(name="InDetSCTRawDataProviderTool",
-                                                           Decoder=InDetSCTRodDecoder))
+    kwargs.setdefault("Decoder", acc.popToolsAndMerge(SCT_RodDecoderCfg(flags, prefix=prefix, suffix=suffix)))
+    acc.setPrivateTools(CompFactory.SCTRawDataProviderTool(name=prefix+"SCTRawDataProviderTool"+suffix,
+                                                           **kwargs))
     return acc
 
-def SCTRawDataProviderCfg(flags):
+def SCTRawDataProviderCfg(flags, prefix="InDet", suffix="", **kwargs):
     acc = ComponentAccumulator()
-    InDetSCTRawDataProviderTool = acc.popToolsAndMerge(SCTRawDataProviderToolCfg(flags))
-    acc.addEventAlgo(CompFactory.SCTRawDataProvider(name="InDetSCTRawDataProvider",
-                                                    ProviderTool=InDetSCTRawDataProviderTool))
+    kwargs.setdefault("ProviderTool", acc.popToolsAndMerge(SCTRawDataProviderToolCfg(flags, prefix, suffix)))
+    acc.addEventAlgo(CompFactory.SCTRawDataProvider(name=prefix+"SCTRawDataProvider"+suffix,
+                                                    **kwargs))
     return acc
 
-def SCTEventFlagWriterCfg(flags):
+def SCTEventFlagWriterCfg(flags, prefix="InDet", suffix="", **kwargs):
     acc = ComponentAccumulator()
-    acc.addEventAlgo(CompFactory.SCTEventFlagWriter(name="InDetSCTEventFlagWriter"))
+    acc.addEventAlgo(CompFactory.SCTEventFlagWriter(name=prefix+"SCTEventFlagWriter"+suffix,
+                                                    **kwargs))
     return acc
 
 if __name__ == "__main__":
diff --git a/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py b/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
index 95951e63280c6a3149a6391ce0106a3ffcfcd3b6..02ee90618e4f56f9a4f8e25f8be23cd68ae9f583 100644
--- a/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
+++ b/InnerDetector/InDetRawAlgs/InDetOverlay/python/SCTOverlayConfig.py
@@ -29,35 +29,6 @@ def SCT_ConfigurationConditionsCfg(flags, **kwargs):
     return acc
 
 
-def SCTRawDataProviderAlgCfg(flags, name="SCTRawDataProvider", **kwargs):
-    """Return a ComponentAccumulator for SCT raw data provider"""
-    # Temporary until available in the central location
-    acc = ComponentAccumulator()
-
-    kwargs.setdefault("RDOKey", flags.Overlay.BkgPrefix + "SCT_RDOs")
-    kwargs.setdefault("LVL1IDKey", flags.Overlay.BkgPrefix + "SCT_LVL1ID")
-    kwargs.setdefault("BCIDKey", flags.Overlay.BkgPrefix + "SCT_BCID")
-
-    from RegionSelector.RegSelToolConfig import regSelTool_SCT_Cfg
-    kwargs.setdefault("RegSelTool", acc.popToolsAndMerge(regSelTool_SCT_Cfg(flags)))
-
-    SCTRawDataProvider = CompFactory.SCTRawDataProvider
-    alg = SCTRawDataProvider(name, **kwargs)
-    acc.addEventAlgo(alg)
-
-    return acc
-
-
-def SCTEventFlagWriterCfg(flags, **kwargs):
-    """Return a ComponentAccumulator for SCT event flag writer"""
-    # Temporary until available in the central location
-    acc = ComponentAccumulator()
-    SCTEventFlagWriter = CompFactory.SCTEventFlagWriter
-    alg = SCTEventFlagWriter()
-    acc.addEventAlgo(alg)
-    return acc
-
-
 def SCTDataOverlayExtraCfg(flags, **kwargs):
     """Return a ComponentAccumulator with SCT data overlay specifics"""
     acc = ComponentAccumulator()
@@ -70,10 +41,15 @@ def SCTDataOverlayExtraCfg(flags, **kwargs):
     acc.merge(SCT_ConfigurationConditionsCfg(flags))
 
     # We need to convert BS to RDO for data overlay
-    acc.merge(SCTRawDataProviderAlgCfg(flags))
+    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig import SCTRawDataProviderCfg
+    kwargs.setdefault("RDOKey", flags.Overlay.BkgPrefix + "SCT_RDOs")
+    kwargs.setdefault("LVL1IDKey", flags.Overlay.BkgPrefix + "SCT_LVL1ID")
+    kwargs.setdefault("BCIDKey", flags.Overlay.BkgPrefix + "SCT_BCID")
+    acc.merge(SCTRawDataProviderCfg(flags, prefix="", **kwargs))
 
     # Add SCT event flag writer
-    acc.merge(SCTEventFlagWriterCfg(flags))
+    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig import SCTEventFlagWriterCfg
+    acc.merge(SCTEventFlagWriterCfg(flags, prefix=""))
 
     return acc
 
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py
index 0fe5301a3765b207ef3af4ff299371169e6c37b5..a00651035952bb8f9150f12686c5023b1eec4622 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py
@@ -504,34 +504,19 @@ def TrigInDetConfig( inflags, roisKey="EMRoIs", signatureName='' ):
 
 
     #SCT
-    SCT_RodDecoder=CompFactory.SCT_RodDecoder
-    InDetSCTRodDecoder = SCT_RodDecoder(name        = "InDetSCTRodDecoder"+ signature)
-    acc.addPublicTool(InDetSCTRodDecoder)
-
-    SCTRawDataProviderTool=CompFactory.SCTRawDataProviderTool
-    InDetSCTRawDataProviderTool = SCTRawDataProviderTool(name    = "InDetSCTRawDataProviderTool"+ signature,
-                                                         Decoder = InDetSCTRodDecoder)
-    acc.addPublicTool(InDetSCTRawDataProviderTool)
-
     # load the SCTRawDataProvider
-    SCTRawDataProvider=CompFactory.SCTRawDataProvider
-    InDetSCTRawDataProvider = SCTRawDataProvider(name         = "InDetSCTRawDataProvider"+ signature,
-                                                 RDOKey       = InDetKeys.SCT_RDOs(),
-                                                 ProviderTool = InDetSCTRawDataProviderTool, )
-
-    InDetSCTRawDataProvider.isRoI_Seeded = True
-    InDetSCTRawDataProvider.RoIs = roisKey
-    InDetSCTRawDataProvider.RDOCacheKey = InDetCacheNames.SCTRDOCacheKey
-
-    InDetSCTRawDataProvider.RegSelTool = RegSelTool_SCT
-
-    acc.addEventAlgo(InDetSCTRawDataProvider)
+    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig import SCTRawDataProviderCfg
+    sctProviderArgs = {}
+    sctProviderArgs["RDOKey"] = InDetKeys.SCT_RDOs()
+    sctProviderArgs["isRoI_Seeded"] = True
+    sctProviderArgs["RoIs"] = roisKey
+    sctProviderArgs["RDOCacheKey"] = InDetCacheNames.SCTRDOCacheKey
+    sctProviderArgs["RegSelTool"] = RegSelTool_SCT
+    acc.merge(SCTRawDataProviderCfg(flags, suffix=signature, **sctProviderArgs))
 
     # load the SCTEventFlagWriter
-    SCTEventFlagWriter=CompFactory.SCTEventFlagWriter
-    InDetSCTEventFlagWriter = SCTEventFlagWriter(name = "InDetSCTEventFlagWriter"+ signature)
-
-    acc.addEventAlgo(InDetSCTEventFlagWriter)
+    from SCT_RawDataByteStreamCnv.SCT_RawDataByteStreamCnvConfig import SCTEventFlagWriterCfg
+    acc.merge(SCTEventFlagWriterCfg(flags, suffix=signature))
 
 
     #TRT