diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py
index 755b8d61fba90257940c5b8cd55e3008fe4d66ef..29d561aa9ddf51abad28a5760e04b60869ae044c 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibChipRead.py
@@ -108,7 +108,7 @@ sct_ReadCalibChipDataToolSetup.setup()
 SCT_ReadCalibChipDataTool=sct_ReadCalibChipDataToolSetup.getTool()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibChipDataTestAlg
-topSequence+= SCT_ReadCalibChipDataTestAlg()
+topSequence+= SCT_ReadCalibChipDataTestAlg(SCT_ReadCalibChipDataTool=SCT_ReadCalibChipDataTool)
 
 ##Modules to test:
 ##136523776, strips 0-255 BAD_OPE=good
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py
index 179f04e6e8bb4198a58f0098dc460c462f7f84db..8fdc2bae41a9447f2a159c011dbb5a4ad792d6a9 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testCalibRead.py
@@ -80,10 +80,13 @@ DetFlags.readRIOBS.all_setOff()
 DetFlags.readRIOPool.all_setOff()
 DetFlags.writeRIOPool.all_setOff()
 
-
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
+# Set up SCT cabling
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
+
 #--------------------------------------------------------------
 # Load ReadCalibData Alg and Service
 #--------------------------------------------------------------
@@ -107,7 +110,7 @@ SCT_ReadCalibDataCondAlg = sct_ReadCalibDataToolSetup.getAlg()
 SCT_ReadCalibDataTool = sct_ReadCalibDataToolSetup.getTool()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ReadCalibDataTestAlg
-topSequence+= SCT_ReadCalibDataTestAlg()
+topSequence+= SCT_ReadCalibDataTestAlg(SCT_ReadCalibDataTool=SCT_ReadCalibDataTool)
 
 # <-999 setting ignores the defect, otherwise it will be checked against the set value
 SCT_ReadCalibDataCondAlg.IgnoreDefects = ["NOISE_SLOPE","OFFSET_SLOPE","GAIN_SLOPE","BAD_OPE"]
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py
index 11db021654b88033601edc7624bf8ecd30294023..d2095ea25eda9c5f3692510ef8b7d1b1337f281c 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testConfig.py
@@ -58,9 +58,9 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 from AthenaCommon.AlgSequence import AlgSequence
 job = AlgSequence()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py
index fa51c726235fdade767e0df9d101b2dfc6397ffe..6a3bfb45f6ae122b7bfb9fbb770c1b086368b7fd 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testDCSConditions.py
@@ -70,9 +70,10 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT_DCSConditionsTool and required conditions folders and conditions algorithms
+from SCT_ConditionsTools.SCT_DCSConditionsToolSetup import SCT_DCSConditionsToolSetup
+sct_DCSConditionsToolSetup = SCT_DCSConditionsToolSetup()
+sct_DCSConditionsToolSetup.setup()
 
 #--------------------------------------------------------------
 # Load DCSConditions Alg and Service
@@ -81,12 +82,7 @@ from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_DCSConditionsTestAlg
-topSequence+= SCT_DCSConditionsTestAlg()
-
-# Set up SCT_DCSConditionsTool and required conditions folders and conditions algorithms
-from SCT_ConditionsTools.SCT_DCSConditionsToolSetup import SCT_DCSConditionsToolSetup
-sct_DCSConditionsToolSetup = SCT_DCSConditionsToolSetup()
-sct_DCSConditionsToolSetup.setup()
+topSequence+= SCT_DCSConditionsTestAlg(SCT_DCSConditionsTool=sct_DCSConditionsToolSetup.getTool())
 
 #--------------------------------------------------------------
 # Event selector settings. Use McEventSelector
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py
index 171fc883d164567a96e69c410c7c0fa0442d830a..3c0344e023b359e6a92f0a810d45fd5f836c7be5 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMajority.py
@@ -58,10 +58,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 #--------------------------------------------------------------
 # Load conditions services and alg
 #--------------------------------------------------------------
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py
index 3468eb5dd1d94d4cb5a117197569759ae5bcdde8..9685f0a0974c17d355f411b488c31d37afb5ae6a 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testModuleVeto.py
@@ -59,10 +59,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 
 job = AlgSequence()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py
index 1afff782494b0aa9c37ffb0d3d3a319a0eb32875..c6f61410eac1002fe80eaa4cf94f579d0cddbfab 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testMonRead.py
@@ -60,10 +60,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 #------------------------------------------------------------
 
 from AthenaCommon.AlgSequence import AlgSequence
@@ -81,7 +77,7 @@ SCT_MonitorConditionsTool=sct_MonitorConditionsToolSetup.getTool()
 SCT_MonitorConditionsTool.OutputLevel = DEBUG
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_MonitorConditionsTestAlg
-job+= SCT_MonitorConditionsTestAlg()
+job+= SCT_MonitorConditionsTestAlg(SCT_MonitorConditionsTool=SCT_MonitorConditionsTool)
 
 SCT_MonitorTest=job.SCT_MonitorConditionsTestAlg
 SCT_MonitorTest.OutputLevel  = 2
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py
index 80f81f43279bed631e0545f5752acf3f679b5671..1f28de14c8b46b4b03473e7067497e9174772163 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testParameters.py
@@ -69,19 +69,20 @@ DetFlags.readRIOBS.all_setOff()
 DetFlags.readRIOPool.all_setOff()
 DetFlags.writeRIOPool.all_setOff()
 
-
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+runNumber=215643
+rec.RunNumber.set_Value_and_Lock(runNumber)
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 #--------------------------------------------------------------
 # Event selector settings. Use McEventSelector
 #--------------------------------------------------------------
 import AthenaCommon.AtlasUnixGeneratorJob
-ServiceMgr.EventSelector.RunNumber = 215643
+ServiceMgr.EventSelector.RunNumber = runNumber
 # initial time stamp - this is number of seconds since 1st Jan 1970 GMT
 ServiceMgr.EventSelector.InitialTimeStamp  = 1354748400 # LB 469 of run 215643, 2012-12-05 @ 11:00pm (UTC)
 ServiceMgr.EventSelector.TimeStampInterval = 180 # increment of 3 minutes
@@ -120,4 +121,4 @@ sct_ConditionsParameterToolSetup = SCT_ConditionsParameterToolSetup()
 sct_ConditionsParameterToolSetup.setup()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_ConditionsParameterTestAlg
-topSequence+= SCT_ConditionsParameterTestAlg()
+topSequence+= SCT_ConditionsParameterTestAlg(SCT_ConditionsParameterTool=sct_ConditionsParameterToolSetup.getTool())
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py
index c241d578fc7ca949a517f409c3ba1ba05cd256d5..ab9ebe8e287b5988b459c47d2112e72c9c61ab41 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testReadout.py
@@ -58,10 +58,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 
 job = AlgSequence()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py
index 6f8f347ba68c5e1aaf6e1aae566886148d1936b1..de9028807cb7f1b3a5d2ceea5a0d590b08e0f296 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testRodVeto.py
@@ -56,17 +56,14 @@ DetFlags.readRIOBS.all_setOff()
 DetFlags.readRIOPool.all_setOff()
 DetFlags.writeRIOPool.all_setOff()
 
-
-
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 from AthenaCommon.AlgSequence import AlgSequence
-
 job = AlgSequence()
 
 #--------------------------------------------------------------
@@ -88,11 +85,11 @@ sct_RODVetoToolSetup.setup()
 sct_RODVetoToolSetup.getAlg().BadRODIds = [0x240100, 0x240030]
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_RODVetoTestAlg
-job+= SCT_RODVetoTestAlg()
+job+= SCT_RODVetoTestAlg(SCT_RODVetoTool=sct_RODVetoToolSetup.getTool())
 
 
 import AthenaCommon.AtlasUnixGeneratorJob
-ToolSvc.SCT_RODVetoTool.OutputLevel=VERBOSE
+sct_RODVetoToolSetup.getTool().OutputLevel=VERBOSE
 ServiceMgr.EventSelector.InitialTimeStamp = 1500000000
 ServiceMgr.EventSelector.RunNumber = 300000 # MC16c 2017 run number
 theApp.EvtMax = 1
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py
index a90691c1e67af9947c04b2a560431e22da69558a..7cf7f58073b9c3c5466745b6cd0d4d1c7fa6d612 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSensors.py
@@ -75,10 +75,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from SCT_ConditionsTools.SCT_SensorsToolSetup import SCT_SensorsToolSetup
 sct_SensorsToolSetup = SCT_SensorsToolSetup()
 sct_SensorsToolSetup.setFolderTag("SctSensors-Sep03-14")
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py
index bb19885d9cf55b1a1400683dc369b3a5c4e15a98..77781ae4602333f1be141a64ec3989d6c65b42e7 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSilicon.py
@@ -60,10 +60,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 job = AlgSequence()
 
@@ -89,7 +85,7 @@ sct_SiliconConditionsToolSetup.setDcsTool(sct_DCSConditionsToolSetup.getTool())
 sct_SiliconConditionsToolSetup.setup()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_SiliconConditionsTestAlg
-job+= SCT_SiliconConditionsTestAlg()
+job+= SCT_SiliconConditionsTestAlg(SCT_SiliconConditionsTool=sct_SiliconConditionsToolSetup.getTool())
 
 import AthenaCommon.AtlasUnixGeneratorJob
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py
index d1a6741a66850f9aefd11ed5b0dff7b3d5e9ca78..d591a108b248e8e32364c4f999b1022ed44a34ce 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testStripVeto.py
@@ -59,10 +59,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from AthenaCommon.AlgSequence import AlgSequence
 
 job = AlgSequence()
@@ -96,7 +92,7 @@ SCT_StripVetoTool.BadStripIdentifiers=[
 SCT_StripVetoTool.OutputLevel=DEBUG
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_StripVetoTestAlg
-job+= SCT_StripVetoTestAlg()
+job+= SCT_StripVetoTestAlg(StripVetoTool=SCT_StripVetoTool)
 
 import AthenaCommon.AtlasUnixGeneratorJob
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py
index 047c7d56bdcfcd00d1036f3f214ea6a5368addee..935e79df90ec6f878b5853b876bd3f0e1036eb1b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testSummary.py
@@ -48,9 +48,11 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
+# Set up SCT cabling
+runNumber=310809
+rec.RunNumber.set_Value_and_Lock(runNumber)
+from AthenaCommon.Include import include
+include('InDetRecExample/InDetRecCabling.py')
 
 from AthenaCommon.AlgSequence import AlgSequence
 
@@ -97,7 +99,7 @@ job+= SCT_ConditionsSummaryTestAlg(SCT_ConditionsSummaryTool=SCT_ConditionsSumma
 
 import AthenaCommon.AtlasUnixGeneratorJob
 
-ServiceMgr.EventSelector.RunNumber  = 310809
+ServiceMgr.EventSelector.RunNumber = runNumber
 import time, calendar
 # initial time stamp - this is number of seconds since 1st Jan 1970 GMT
 # run 310809 Recording start/end 2016-Oct-17 21:39:18 / 2016-Oct-18 16:45:23 UTC
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py
index ada81fd016c8e76f5263bd34f684dc8ec3649f34..5464bf2701f0611f807730110e38ed76229f7477 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testTdaqEnabled.py
@@ -72,10 +72,6 @@ DetFlags.writeRIOPool.all_setOff()
 import AtlasGeoModel.SetGeometryVersion
 import AtlasGeoModel.GeoModelInit
 
-# Disable SiLorentzAngleSvc to remove
-# ERROR ServiceLocatorHelper::createService: wrong interface id IID_665279653 for service
-ServiceMgr.GeoModelSvc.DetectorTools['PixelDetectorTool'].LorentzAngleSvc=""
-
 from IOVSvc.IOVSvcConf import CondSvc 
 ServiceMgr += CondSvc()
 from AthenaCommon.AlgSequence import AthSequencer 
@@ -84,6 +80,10 @@ condSeq = AthSequencer("AthCondSeq")
 from xAODEventInfoCnv.xAODEventInfoCreator import xAODMaker__EventInfoCnvAlg
 condSeq+=xAODMaker__EventInfoCnvAlg(OutputLevel=2)
 
+from SCT_ConditionsTools.SCT_TdaqEnabledToolSetup import SCT_TdaqEnabledToolSetup
+sct_TdaqEnabledToolSetup = SCT_TdaqEnabledToolSetup()
+sct_TdaqEnabledToolSetup.setup()
+
 #--------------------------------------------------------------
 # Load DCSConditions Alg and Service
 #--------------------------------------------------------------
@@ -91,7 +91,7 @@ from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()
 
 from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_TdaqEnabledTestAlg
-topSequence+= SCT_TdaqEnabledTestAlg()
+topSequence+= SCT_TdaqEnabledTestAlg(SCT_TdaqEnabledTool=sct_TdaqEnabledToolSetup.getTool())
 
 #--------------------------------------------------------------
 # Event selector settings. Use McEventSelector
@@ -123,7 +123,3 @@ conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/ROD", "/SCT/DAQ/Config/ROD")
 conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/Geog", "/SCT/DAQ/Config/Geog")
 conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/RODMUR", "/SCT/DAQ/Config/RODMUR")
 conddb.addFolderSplitMC("SCT", "/SCT/DAQ/Config/MUR", "/SCT/DAQ/Config/MUR")
-
-from SCT_ConditionsTools.SCT_TdaqEnabledToolSetup import SCT_TdaqEnabledToolSetup
-sct_TdaqEnabledToolSetup = SCT_TdaqEnabledToolSetup()
-sct_TdaqEnabledToolSetup.setup()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py
index f90f419a5373dd6f10993ab75104d943a96e1f22..f9130f2d2d2da9c8b492221a3e0ddf5148584ab4 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ByteStreamErrorsToolSetup.py
@@ -9,15 +9,13 @@ class SCT_ByteStreamErrorsToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ByteStreamErrorsTool
             if self.configTool is None:
-                ToolSvc += SCT_ByteStreamErrorsTool(name = self.toolName)
+                self.tool = SCT_ByteStreamErrorsTool(name = self.toolName)
             else:
-                ToolSvc += SCT_ByteStreamErrorsTool(name = self.toolName,
-                                                    ConfigTool = self.configTool)
-        self.tool = getattr(ToolSvc, self.toolName)
+                self.tool = SCT_ByteStreamErrorsTool(name = self.toolName,
+                                                     ConfigTool = self.configTool)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py
index cc946abc0dfee8a692f209e133f8c4cb2b0014fe..325ceec0d56148161568c52393503f84ce72f45f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsParameterToolSetup.py
@@ -50,11 +50,9 @@ class SCT_ConditionsParameterToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConditionsParameterTool
-            ToolSvc += SCT_ConditionsParameterTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ConditionsParameterTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py
index 0c85043e84d03511677c91c08dd5ca8e75e29c5b..f50ae4e070dc16efa005b7b1e771fe32f9fea66b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConditionsSummaryToolSetup.py
@@ -1,18 +1,26 @@
 # Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 
+def singleton(cls):
+    # Create only one instance for one toolName to use the same configuration
+    instances = {} # Dictionary: key: toolName, value instance
+    def wrapper(toolName="InDetSCT_ConditionsSummaryTool"):
+        if (cls, toolName) not in instances:
+            instances[(cls, toolName)] = cls(toolName)
+        return instances[(cls, toolName)]
+    return wrapper
+
+@singleton
 class SCT_ConditionsSummaryToolSetup:
-    "Class to simplify setup of SCT_ConditionsSummaryTool and required conditions algorithms"
+    # Class to simplify setup of SCT_ConditionsSummaryTool
 
-    def __init__(self):
-        self.toolName = "InDetSCT_ConditionsSummaryTool"
+    def __init__(self, toolName):
+        self.toolName = toolName
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConditionsSummaryTool
-            ToolSvc += SCT_ConditionsSummaryTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ConditionsSummaryTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
@@ -20,8 +28,5 @@ class SCT_ConditionsSummaryToolSetup:
     def getToolName(self):
         return self.toolName
 
-    def setToolName(self, toolName):
-        self.toolName = toolName
-
     def setup(self):
         self.setTool()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py
index 5c076d534644638dcec130a4b0475b8e26569582..b67aab56955dd0b77b84da9bfe2704a6651280c0 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ConfigurationConditionsToolSetup.py
@@ -94,11 +94,9 @@ class SCT_ConfigurationConditionsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ConfigurationConditionsTool
-            ToolSvc += SCT_ConfigurationConditionsTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ConfigurationConditionsTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py
index f5db0a6cd1abb5bf35d8c95df679976195660d7f..5c82a744df50fc0067c383f11a64a7c95acd0753 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_DCSConditionsToolSetup.py
@@ -126,13 +126,11 @@ class SCT_DCSConditionsToolSetup:
             self.tempAlg = getattr(condSeq, self.tempAlgName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_DCSConditionsTool
-            ToolSvc += SCT_DCSConditionsTool(name = self.toolName,
-                                               ReadAllDBFolders = self.readAllDBFolders,
-                                               ReturnHVTemp = self.returnHVTemp)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_DCSConditionsTool(name = self.toolName,
+                                              ReadAllDBFolders = self.readAllDBFolders,
+                                              ReturnHVTemp = self.returnHVTemp)
 
     def setup(self):
         self.setFolders()
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py
index e17fda14c6be669639794a4535349c9cf2929f17..ca739cac6f40e261cc5c256c7f3a8f3b50c2dc70 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_FlaggedConditionToolSetup.py
@@ -8,11 +8,9 @@ class SCT_FlaggedConditionToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_FlaggedConditionTool
-            ToolSvc += SCT_FlaggedConditionTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_FlaggedConditionTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py
index 0a59d3a173b4579cb6a35a0b816bb5e88ff13f41..5cb2bbb573780e55566423afb637880cb8f05a0e 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_LinkMaskingToolSetup.py
@@ -50,11 +50,9 @@ class SCT_LinkMaskingToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_LinkMaskingTool
-            ToolSvc += SCT_LinkMaskingTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_LinkMaskingTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py
index ccecade4ea0bdb983faf04d6a089f9133a677164..58d8a3634001db16f6aae4ebbf6e70331cea66f2 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MajorityConditionsToolSetup.py
@@ -50,11 +50,9 @@ class SCT_MajorityConditionsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_MajorityConditionsTool
-            ToolSvc += SCT_MajorityConditionsTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_MajorityConditionsTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py
index aa9b25c82d16125ff2cc2999e802a405ce83038b..1b7082ee08e164c9c174c2bf9ed85b4a6ac7efb1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ModuleVetoToolSetup.py
@@ -61,11 +61,9 @@ class SCT_ModuleVetoToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ModuleVetoTool
-            ToolSvc += SCT_ModuleVetoTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ModuleVetoTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py
index 7e5ed1a218be92430e8f5c12e1e094e5f0c567ea..bf11982ee3313f78119fffbbdcb6369974c00e41 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_MonitorConditionsToolSetup.py
@@ -51,15 +51,13 @@ class SCT_MonitorConditionsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_MonitorConditionsTool
             if self.outputLevel is None:
-                ToolSvc += SCT_MonitorConditionsTool(name = self.toolName)
+                self.tool = SCT_MonitorConditionsTool(name = self.toolName)
             else:
-                ToolSvc += SCT_MonitorConditionsTool(name = self.toolName,
-                                                     OutputLevel = self.outputLevel)
-        self.tool = getattr(ToolSvc, self.toolName)
+                self.tool = SCT_MonitorConditionsTool(name = self.toolName,
+                                                      OutputLevel = self.outputLevel)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py
index 1967c4889895b71b40d909aa3ef0b7903e5c6bd0..2f9306eb82e8dcc602a98464ef2484bf83c11f5c 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RODVetoToolSetup.py
@@ -23,11 +23,9 @@ class SCT_RODVetoToolSetup:
         return self.alg
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_RODVetoTool
-            ToolSvc += SCT_RODVetoTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_RODVetoTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py
index e60380ef1f9a4388fcbaefcaf96e38a7ea1f17f7..ad5bf54c9d8c5adb6574594c705c82c45a8bd37b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_RadDamageSummaryToolSetup.py
@@ -8,11 +8,9 @@ class SCT_RadDamageSummaryToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_RadDamageSummaryTool
-            ToolSvc += SCT_RadDamageSummaryTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_RadDamageSummaryTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py
index 7aacb61fa188dc0362d0811195c82ecb213570eb..fe95b0e8ba35579f74aa2a7dfa9715d1d1159f84 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibChipDataToolSetup.py
@@ -73,11 +73,9 @@ class SCT_ReadCalibChipDataToolSetup:
         self.alg = getattr(condSeq, self.gainAlgName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ReadCalibChipDataTool
-            ToolSvc += SCT_ReadCalibChipDataTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ReadCalibChipDataTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py
index 4449f3fc0597ceb320a61961404172ce709f052c..ac0e3d7c37610e44032cedc80d7735c555a838b3 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_ReadCalibDataToolSetup.py
@@ -41,11 +41,9 @@ class SCT_ReadCalibDataToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_ReadCalibDataTool
-            ToolSvc += SCT_ReadCalibDataTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_ReadCalibDataTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py
index f162246c97caeee8cbdfa5d330d885de2846934c..d67422a7ca49198caf2dfbc870c9c608044f3e9b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SensorsToolSetup.py
@@ -60,11 +60,9 @@ class SCT_SensorsToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_SensorsTool
-            ToolSvc += SCT_SensorsTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_SensorsTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py
index 5567e9b3344e5227850f68687667c2c0bad3594c..3a44384c0c8c4259b0e1745ffe8ac7efd44d28b1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_SiliconConditionsToolSetup.py
@@ -70,13 +70,11 @@ class SCT_SiliconConditionsToolSetup:
         self.tempAlg = getattr(condSeq, self.tempAlgName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_SiliconConditionsTool
-            ToolSvc += SCT_SiliconConditionsTool(name = self.toolName,
-                                                 UseDB = self.useDB,
-                                                 ForceUseGeoModel = self.forceUseGeoModel)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_SiliconConditionsTool(name = self.toolName,
+                                                  UseDB = self.useDB,
+                                                  ForceUseGeoModel = self.forceUseGeoModel)
 
     def setUseDB(self, useDB):
         self.useDB = useDB
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py
index 0948ddec78dde64ff8b6be2132101a1e7d7ee845..3eed264358f7b8f6e791c1eca643d6878a1ee1b5 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_StripVetoToolSetup.py
@@ -8,11 +8,9 @@ class SCT_StripVetoToolSetup:
         self.tool = None
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_StripVetoTool
-            ToolSvc += SCT_StripVetoTool(name = self.toolName)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_StripVetoTool(name = self.toolName)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py
index 6d4e9e1c71f524254ae202a0104fdb6a3351f1cb..846570e28c8319ac36a0adbec9238ace3e0d2bef 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/python/SCT_TdaqEnabledToolSetup.py
@@ -65,12 +65,10 @@ class SCT_TdaqEnabledToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SCT_ConditionsTools.SCT_ConditionsToolsConf import SCT_TdaqEnabledTool
-            ToolSvc += SCT_TdaqEnabledTool(name = self.toolName,
-                                           EventInfoKey = self.eventInfoKey)
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SCT_TdaqEnabledTool(name = self.toolName,
+                                            EventInfoKey = self.eventInfoKey)
 
     def getTool(self):
         return self.tool
diff --git a/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py b/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py
index b1b182cd2542b3dc91f708305a98d5b3e3914d5a..04d99f5dda6c4f7a6b96f905d7c3650aa27b6e1c 100644
--- a/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py
+++ b/InnerDetector/InDetConditions/SiPropertiesSvc/python/SCT_SiPropertiesToolSetup.py
@@ -45,13 +45,11 @@ class SCT_SiPropertiesToolSetup:
         self.alg = getattr(condSeq, self.algName)
 
     def setTool(self):
-        from AthenaCommon.AppMgr import ToolSvc
-        if not hasattr(ToolSvc, self.toolName):
+        if self.tool is None:
             from SiPropertiesSvc.SiPropertiesSvcConf import SiPropertiesTool
-            ToolSvc += SiPropertiesTool(name = self.toolName,
-                                        DetectorName = "SCT",
-                                        ReadKey = "SCTSiliconPropertiesVector")
-        self.tool = getattr(ToolSvc, self.toolName)
+            self.tool = SiPropertiesTool(name = self.toolName,
+                                         DetectorName = "SCT",
+                                         ReadKey = "SCTSiliconPropertiesVector")
 
     def setup(self):
         self.setAlg()
diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
index 22b282434edd80a45ce08cf2323194947d5f0cf4..682da3c9372f7ee1d970131804bfbafa35fbb1a7 100644
--- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
+++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py
@@ -290,8 +290,7 @@ if DetFlags.haveRIO.SCT_on():
         print InDetSCT_ConditionsSummaryTool
 
     # Conditions summary tool without InDetSCT_FlaggedConditionTool
-    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup()
-    sct_ConditionsSummaryToolSetupWithoutFlagged.setToolName("InDetSCT_ConditionsSummaryToolWithoutFlagged")
+    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup("InDetSCT_ConditionsSummaryToolWithoutFlagged")
     sct_ConditionsSummaryToolSetupWithoutFlagged.setup()
     InDetSCT_ConditionsSummaryToolWithoutFlagged = sct_ConditionsSummaryToolSetupWithoutFlagged.getTool()    
     condTools = []
diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py
index 59a08564ad63d4aa28657ad643c7c25f40d8982c..161d56221a58af0d4a25802335af5b5dbbca95fc 100644
--- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py
+++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py
@@ -257,8 +257,7 @@ class SCT_ConditionsToolsSetup:
   def initSummaryTool(self, instanceName):
     "Init summary conditions tool"
     from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-    sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
-    sct_ConditionsSummaryToolSetup.setToolName(instanceName)
+    sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup(instanceName)
     sct_ConditionsSummaryToolSetup.setup()
     summaryTool = sct_ConditionsSummaryToolSetup.getTool()
     if self._print:  print summaryTool
@@ -267,8 +266,7 @@ class SCT_ConditionsToolsSetup:
   def initSummaryToolWithoutFlagged(self, instanceName):
     "Init summary conditions tool without flaggedConditionTool"
     from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup()
-    sct_ConditionsSummaryToolSetupWithoutFlagged.setToolName(instanceName)
+    sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup(instanceName)
     sct_ConditionsSummaryToolSetupWithoutFlagged.setup()
     summaryToolWoFlagged = sct_ConditionsSummaryToolSetupWithoutFlagged.getTool()
     condTools = []
diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py b/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py
index 374c73dd9ca61c700058cda5021727d9220abea5..9689976b558063c6498a7bc3d5e40adc9e85d3d2 100644
--- a/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py
+++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/share/SCTMonitor_topOptions.py
@@ -49,8 +49,7 @@ if not conddb.folderRequested(SCTConfigurationFolderPath+"MUR"):
 
 # Load condtions tool
 from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
-sct_ConditionsSummaryToolSetup.setToolName("SCT_MonConditionsSummaryTool")
+sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup("SCT_MonConditionsSummaryTool")
 sct_ConditionsSummaryToolSetup.setup()
 SCT_MonConditionsSummaryTool = sct_ConditionsSummaryToolSetup.getTool()
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py
index eebaf7dcc6b2335357ee86c39982c90c02c0f988..178cf2c6c6cb7e4061b8319e4837f2f52140e7f4 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/CombinedMuonTrackSummary.py
@@ -107,7 +107,11 @@ if DetFlags.haveRIO.pixel_on():
 
   
 if DetFlags.haveRIO.SCT_on():
-  ToolSvc.CombinedMuonIDHoleSearch.SctSummaryTool      = ToolSvc.InDetSCT_ConditionsSummaryTool
+  from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
+  sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
+  sct_ConditionsSummaryToolSetup.setup()
+  InDetSCT_ConditionsSummaryTool = sct_ConditionsSummaryToolSetup.getTool()
+  ToolSvc.CombinedMuonIDHoleSearch.SctSummaryTool = InDetSCT_ConditionsSummaryTool
 
 # check configuration
 #print ToolSvc.CombinedMuonIDHoleSearch
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py
index b5ac5973e493d63cc31c22d3b205a93ab175e2e9..0cc90a51a1651321b9ac7b579dcedaf09129de62 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/InDetSetup.py
@@ -168,8 +168,7 @@ def makeInDetAlgs():
   # InDetSCT_FlaggedConditionTool = sct_FlaggedConditionToolSetup.getTool()
   
   from SCT_ConditionsTools.SCT_ConditionsSummaryToolSetup import SCT_ConditionsSummaryToolSetup
-  sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup()
-  sct_ConditionsSummaryToolSetup.setToolName("InDetSCT_ConditionsSummaryTool")
+  sct_ConditionsSummaryToolSetup = SCT_ConditionsSummaryToolSetup("InDetSCT_ConditionsSummaryTool")
   sct_ConditionsSummaryToolSetup.setup()
   InDetSCT_ConditionsSummaryTool = sct_ConditionsSummaryToolSetup.getTool()
   condTools = []
@@ -179,8 +178,7 @@ def makeInDetAlgs():
     if condTool not in condTools:
       if condTool != "SCT_FlaggedConditionTool/InDetSCT_FlaggedConditionTool":
         condTools.append(condTool)
-  sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup()
-  sct_ConditionsSummaryToolSetupWithoutFlagged.setToolName("InDetSCT_ConditionsSummaryToolWithoutFlagged")
+  sct_ConditionsSummaryToolSetupWithoutFlagged = SCT_ConditionsSummaryToolSetup("InDetSCT_ConditionsSummaryToolWithoutFlagged")
   sct_ConditionsSummaryToolSetupWithoutFlagged.setup()
   InDetSCT_ConditionsSummaryToolWithoutFlagged = sct_ConditionsSummaryToolSetupWithoutFlagged.getTool()
   InDetSCT_ConditionsSummaryToolWithoutFlagged.ConditionsTools = condTools