diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testFlagged.py b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testFlagged.py
new file mode 100644
index 0000000000000000000000000000000000000000..2c8242ffd39de50277b8e3d3f1393cc3eaa5f0d9
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/share/testFlagged.py
@@ -0,0 +1,104 @@
+import AthenaCommon.AtlasUnixStandardJob
+
+# Setup logger
+from AthenaCommon.Logging import logging
+msg = logging.getLogger("testBSError")
+msg.setLevel(logging.INFO)
+
+#--------------------------------------------------------------
+# Thread-specific setup
+#--------------------------------------------------------------
+from AthenaCommon.ConcurrencyFlags import jobproperties
+numThreads = jobproperties.ConcurrencyFlags.NumThreads()
+if numThreads > 0:
+    from AthenaCommon.AlgScheduler import AlgScheduler
+    AlgScheduler.CheckDependencies( True )
+    AlgScheduler.ShowControlFlow( True )
+    AlgScheduler.ShowDataDependencies( True )
+
+# use auditors
+from AthenaCommon.AppMgr import ServiceMgr
+from GaudiSvc.GaudiSvcConf import AuditorSvc
+ServiceMgr += AuditorSvc()
+theAuditorSvc = ServiceMgr.AuditorSvc
+theAuditorSvc.Auditors  += ["ChronoAuditor"]
+theAuditorSvc.Auditors  += ["MemStatAuditor"]
+theApp.AuditAlgorithms=True
+
+
+#--------------------------------------------------------------
+# Load Geometry
+#--------------------------------------------------------------
+from AthenaCommon.GlobalFlags import globalflags
+globalflags.DetDescrVersion="ATLAS-R2-2016-01-00-01"
+globalflags.DetGeo="atlas"
+globalflags.InputFormat="pool"
+globalflags.DataSource="data"
+msg.info(globalflags)
+
+#--------------------------------------------------------------
+# Set Detector setup
+#--------------------------------------------------------------
+# --- switch on InnerDetector
+from AthenaCommon.DetFlags import DetFlags 
+DetFlags.ID_setOff()
+DetFlags.Calo_setOff()
+DetFlags.Muon_setOff()
+DetFlags.Truth_setOff()
+DetFlags.LVL1_setOff()
+DetFlags.SCT_setOn()
+
+# ---- switch parts of ID off/on as follows
+#switch off tasks
+DetFlags.pileup.all_setOff()
+DetFlags.simulate.all_setOff()
+DetFlags.makeRIO.all_setOff()
+DetFlags.writeBS.all_setOff()
+DetFlags.readRDOBS.all_setOff()
+DetFlags.readRIOBS.all_setOff()
+DetFlags.readRIOPool.all_setOff()
+DetFlags.writeRIOPool.all_setOff()
+
+
+
+import AtlasGeoModel.SetGeometryVersion
+import AtlasGeoModel.GeoModelInit
+
+from AthenaCommon.AlgSequence import AlgSequence
+
+job = AlgSequence()
+
+#--------------------------------------------------------------
+# Load IOVDbSvc
+#--------------------------------------------------------------
+
+IOVDbSvc = Service("IOVDbSvc")
+from IOVDbSvc.CondDB import conddb
+IOVDbSvc.GlobalTag="CONDBR2-BLKPA-2018-03"
+
+from SCT_ConditionsTools.SCT_FlaggedConditionToolSetup import SCT_FlaggedConditionToolSetup
+sct_FlaggedConditionToolSetup = SCT_FlaggedConditionToolSetup()
+sct_FlaggedConditionToolSetup.setup()
+SCT_FlaggedConditionTool = sct_FlaggedConditionToolSetup.getTool()
+
+SCT_FlaggedConditionTool.OutputLevel=DEBUG
+
+from SCT_ConditionsAlgorithms.SCT_ConditionsAlgorithmsConf import SCT_FlaggedConditionTestAlg
+job+= SCT_FlaggedConditionTestAlg(FlaggedConditionTool=SCT_FlaggedConditionTool)
+
+from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+if numThreads >= 2:
+    from SCT_ConditionsAlgorithms.SCTCondAlgCardinality import sctCondAlgCardinality
+    sctCondAlgCardinality.set(numThreads)
+    job.SCT_FlaggedConditionTestAlg.Cardinality = numThreads
+
+import AthenaPoolCnvSvc.ReadAthenaPool
+from PoolSvc.PoolSvcConf import PoolSvc
+ServiceMgr += PoolSvc()
+
+athenaCommonFlags.FilesInput = [ "./ESD.pool.root" ]
+ServiceMgr.EventSelector.InputCollections = athenaCommonFlags.FilesInput.get_Value()
+
+theApp.EvtMax = -1
+
+ServiceMgr.MessageSvc.Format = "% F%50W%S%7W%R%T %0W%M"
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_FlaggedConditionTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_FlaggedConditionTestAlg.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..9671e1a4c05d9e0232f3ed080af201536207d473
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_FlaggedConditionTestAlg.cxx
@@ -0,0 +1,47 @@
+/*
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file SCT_FlaggedConditionTestAlg.cxx
+ *
+ * @brief Class to test SCT_FlaggedConditionTool (implementation)
+ *
+ * @author Susumu.Oda@cern.ch
+ **/
+
+#include "SCT_FlaggedConditionTestAlg.h"
+
+SCT_FlaggedConditionTestAlg::SCT_FlaggedConditionTestAlg(const std::string& name, ISvcLocator* pSvcLocator) : 
+  AthReentrantAlgorithm(name, pSvcLocator) {
+}
+
+//Initialize
+StatusCode SCT_FlaggedConditionTestAlg::initialize() {
+  ATH_MSG_INFO("Calling initialize");
+  
+  // Retrieve flagged condition tool
+  ATH_CHECK(m_flaggedTool.retrieve());
+
+  return StatusCode::SUCCESS;
+}
+
+//Execute
+StatusCode SCT_FlaggedConditionTestAlg::execute(const EventContext& ctx) const {
+  ATH_MSG_INFO("Calling execute");
+
+  ATH_MSG_ALWAYS("------------------------------------------------------------");
+  ATH_MSG_ALWAYS(" numBadIds " << m_flaggedTool->numBadIds(ctx));
+  const SCT_FlaggedCondData* badIds{m_flaggedTool->getBadIds(ctx)};
+  for (const std::pair<IdentifierHash, std::string>& badId : *badIds) {
+    ATH_MSG_ALWAYS("  Wafer hash " << badId.first << " reason " << badId.second);
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+//Finalize
+StatusCode SCT_FlaggedConditionTestAlg::finalize() {
+  ATH_MSG_INFO("Calling finalize");
+  return StatusCode::SUCCESS;
+}
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_FlaggedConditionTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_FlaggedConditionTestAlg.h
new file mode 100644
index 0000000000000000000000000000000000000000..9e7df0ba4f594b320dea1b935090ceb955e2d307
--- /dev/null
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_FlaggedConditionTestAlg.h
@@ -0,0 +1,41 @@
+// -*- C++ -*-
+
+/*
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @file SCT_FlaggedConditionTestAlg.h
+ *
+ * @brief Class to test SCT_FlaggedConditionTool (header)
+ *
+ * @author Susumu.Oda@cern.ch
+ **/
+
+#ifndef SCT_FlaggedConditionTestAlg_H
+#define SCT_FlaggedConditionTestAlg_H 
+
+//Athena
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
+
+#include "SCT_ConditionsTools//ISCT_FlaggedConditionTool.h"
+
+//Gaudi
+#include "GaudiKernel/ToolHandle.h"
+
+class SCT_FlaggedConditionTestAlg : public AthReentrantAlgorithm {
+ public:
+  SCT_FlaggedConditionTestAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~SCT_FlaggedConditionTestAlg() = default;
+
+  virtual StatusCode initialize() override;
+  virtual StatusCode execute(const EventContext& ctx) const override;
+  virtual StatusCode finalize() override;
+  /** Make this algorithm clonable. */
+  virtual bool isClonable() const override { return true; };
+
+ private:
+  ToolHandle<ISCT_FlaggedConditionTool> m_flaggedTool{this, "FlaggedConditionTool", "InDetSCT_FlaggedConditionTool", "Tool to retrieve SCT flagged condition"};
+};
+
+#endif // SCT_FlaggedConditionTestAlg_H
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/components/SCT_ConditionsAlgorithms_entries.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/components/SCT_ConditionsAlgorithms_entries.cxx
index 58928ac93b78130ff8c31abb90362219395ef6e7..f64c33a7826e71af30bde65b24d5c3811f19ecf1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/components/SCT_ConditionsAlgorithms_entries.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/components/SCT_ConditionsAlgorithms_entries.cxx
@@ -10,6 +10,7 @@
 #include "../SCT_DCSConditionsTempCondAlg.h"
 #include "../SCT_DCSConditionsTestAlg.h"
 #include "../SCT_DetectorElementCondAlg.h"
+#include "../SCT_FlaggedConditionTestAlg.h"
 #include "../SCT_LinkMaskingCondAlg.h"
 #include "../SCT_LinkMaskingTestAlg.h"
 #include "../SCT_MajorityCondAlg.h"
@@ -47,6 +48,7 @@ DECLARE_COMPONENT( SCT_DCSConditionsStatCondAlg )
 DECLARE_COMPONENT( SCT_DCSConditionsTempCondAlg )
 DECLARE_COMPONENT( SCT_DCSConditionsTestAlg )
 DECLARE_COMPONENT( SCT_DetectorElementCondAlg )
+DECLARE_COMPONENT( SCT_FlaggedConditionTestAlg )
 DECLARE_COMPONENT( SCT_LinkMaskingCondAlg )
 DECLARE_COMPONENT( SCT_LinkMaskingTestAlg )
 DECLARE_COMPONENT( SCT_MajorityCondAlg )