diff --git a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx
index d7e2d09bcabe7118131b95d3425e79a0604e7c67..7c4cc9a7a468b6b6d1e371af1b0737c33d82a35f 100644
--- a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx
+++ b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.cxx
@@ -32,7 +32,6 @@ RawInfoSummaryForTagWriter::RawInfoSummaryForTagWriter(const std::string& name,
   declareProperty("TRT_DriftCircleContainerName", m_TRT_DriftCircleName="TRT_DriftCircles");
   declareProperty("SCT_SpacePointName",m_sctSpacePointName="SCT_SpacePoints");
   declareProperty("Pixel_SpacePointName",m_pixSpacePointName="PixelSpacePoints");
-  declareProperty("BCM_RDOName", m_bcmRDOName="BCM_RDOs");
   declareProperty("TRT_PhaseName", m_trtPhaseName="");//"TRT_Phase");
   declareProperty("MBTSName",m_mbtsName="MBTSContainer");
   declareProperty("MBTSCollTimeKey",m_MBTSCollTimeKey="MBTSCollisionTime");
@@ -72,12 +71,12 @@ StatusCode RawInfoSummaryForTagWriter::initialize()
   ATH_CHECK(m_MBTSCollTimeKey.initialize());
   ATH_CHECK(m_sctSpacePointName.initialize());
   ATH_CHECK(m_pixSpacePointName.initialize());
-  ATH_CHECK(m_bcmRDOName.initialize());
   ATH_CHECK(m_mbtsName.initialize());
   ATH_CHECK(m_larCollTimeName.initialize());
   if (!m_trtPhaseName.key().empty()) {
     ATH_CHECK(m_trtPhaseName.initialize());
   }
+  ATH_CHECK(m_bcmRDOName.initialize(!m_bcmRDOName.key().empty()));
   ATH_CHECK(m_RISFTKey.initialize());
   ATH_CHECK( m_fieldCacheCondObjInputKey.initialize() );
   return StatusCode::SUCCESS;  
@@ -345,26 +344,28 @@ StatusCode RawInfoSummaryForTagWriter::execute()
    // BCM tag bit
 
    unsigned int bcmHit=0;
+   
+   if (!m_bcmRDOName.key().empty()) {
+       SG::ReadHandle<BCM_RDO_Container> bcmRDO(m_bcmRDOName);
+    int num_collect = bcmRDO->size();
+    if ( num_collect != 16 ){
+       ATH_MSG_WARNING (" Number of collections: " << num_collect);
+    }
 
-   SG::ReadHandle<BCM_RDO_Container> bcmRDO(m_bcmRDOName);
-   int num_collect = bcmRDO->size();
-   if ( num_collect != 16 ){
-     ATH_MSG_WARNING (" Number of collections: " << num_collect);
+    BCM_RDO_Container::const_iterator chan_itr = bcmRDO->begin();
+    BCM_RDO_Container::const_iterator chan_itr_end = bcmRDO->end();  
+    for (; chan_itr != chan_itr_end; chan_itr++) {
+       // Loop over all BCM hits in this collection
+       BCM_RDO_Collection::const_iterator bcm_itr = (*chan_itr)->begin();
+       BCM_RDO_Collection::const_iterator bcm_itr_end = (*chan_itr)->end();
+
+       for (; bcm_itr != bcm_itr_end; bcm_itr++) {
+        if ((*bcm_itr)->getPulse1Width() != 0 || (*bcm_itr)->getPulse2Width() != 0) {
+	  bcmHit++;
+        }
+       } // end of loop over raw data
+    } // end of loop over collections
    }
-   
-   BCM_RDO_Container::const_iterator chan_itr = bcmRDO->begin();
-   BCM_RDO_Container::const_iterator chan_itr_end = bcmRDO->end();  
-   for (; chan_itr != chan_itr_end; chan_itr++) {
-     // Loop over all BCM hits in this collection
-     BCM_RDO_Collection::const_iterator bcm_itr = (*chan_itr)->begin();
-     BCM_RDO_Collection::const_iterator bcm_itr_end = (*chan_itr)->end();
-       
-     for (; bcm_itr != bcm_itr_end; bcm_itr++) {
-       if ((*bcm_itr)->getPulse1Width() != 0 || (*bcm_itr)->getPulse2Width() != 0) {
-	 bcmHit++;
-       }
-     } // end of loop over raw data
-   } // end of loop over collections
    RISFTobject->setBCMHit(bcmHit);
 
 
diff --git a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h
index 0b8ff99c63651a41b710b10623ca797c6121fe1a..887d0ddef141c25fcd302f8e62795ec7c17a58fb 100644
--- a/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h
+++ b/PhysicsAnalysis/EventTag/EventTagRawAlgs/src/RawInfoSummaryForTagWriter.h
@@ -67,13 +67,13 @@ class RawInfoSummaryForTagWriter : public AthAlgorithm
   SG::ReadHandleKey<MBTSCollisionTime> m_MBTSCollTimeKey;
   SG::ReadHandleKey<SpacePointContainer> m_sctSpacePointName;
   SG::ReadHandleKey<SpacePointContainer> m_pixSpacePointName;
-  SG::ReadHandleKey<BCM_RDO_Container> m_bcmRDOName;
   SG::ReadHandleKey<TileCellContainer> m_mbtsName;
   SG::ReadHandleKey<LArCollisionTime> m_larCollTimeName;
   SG::ReadHandleKey<ComTime> m_trtPhaseName;
+  SG::ReadHandleKey<BCM_RDO_Container> m_bcmRDOName{
+      this, "BCM_RDOKey", "BCM_RDOs", "SG key for BCM RDOs"};
   SG::WriteHandleKey<RawInfoSummaryForTag> m_RISFTKey;
 
-
   bool m_doClusterSums;//!< turn on/off the cluster sum in the tag (as it crashes if Tile is off)
   
   std::string m_mbtsContainerName;