diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h
index dee7184c8311a665e42102464a886b1108e39bb9..7df01a4f7ce06eed9f1e3aff1345f9d73e4a0caa 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataMonitoring/MdtVsRpcRawDataValAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////////////
@@ -42,7 +42,7 @@ class MdtVsRpcRawDataValAlg: public ManagedMonitorToolBase
  
   MdtVsRpcRawDataValAlg( const std::string & type, const std::string & name, const IInterface* parent ); 
  
-  virtual ~MdtVsRpcRawDataValAlg();
+  virtual ~MdtVsRpcRawDataValAlg()=default;
   StatusCode initialize();
   virtual StatusCode bookHistogramsRecurrent();
   virtual StatusCode fillHistograms();
@@ -59,8 +59,7 @@ class MdtVsRpcRawDataValAlg: public ManagedMonitorToolBase
   int m_side;
   std::vector<std::string> m_layer_name_list       ;
   std::vector<std::string> m_layerSector_name_list ;   
-  int m_rpc_eventstotal;
-  std::vector<Identifier>* m_padsId;
+  int m_rpc_eventstotal; 
   
   // MuonDetectorManager from the conditions store
   SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey {this, "DetectorManagerKey", 
@@ -94,6 +93,10 @@ class MdtVsRpcRawDataValAlg: public ManagedMonitorToolBase
   int m_StationPhi;
   int m_lastEvent;
   int m_cosmicStation;
+  
+  /// BME have special treatment in the code
+  /// 
+  int  m_BMEid{-1};
  
   TH1*    m_MdtRpcZdiff             ; 
   TH2*    m_MdtNHitsvsRpcNHits      ;
diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx
index 22003c36fce59ad00f780c57da4d7e5ebce40e88..c3948190778e8d88c3c2f7200046604b3499f9b8 100755
--- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/MdtVsRpcRawDataMonitoring/src/MdtVsRpcRawDataValAlg.cxx
@@ -28,16 +28,17 @@
 #include "AthenaMonitoring/AthenaMonManager.h"
 
 #include <sstream>
-
-static const int maxPRD  =   50000;
+namespace{
+static constexpr int maxPRD  =   50000;
 
 //mdt stuff
-static const int maxPrd =    50000;
-static const int ncutadc=       50;
+static constexpr int maxPrd =    50000;
+static constexpr int ncutadc=       50;
 
-static const int TDCminrange      =    0 ;
-static const int TDCmaxrange      = 2000 ;
-static const int TDCNbin          =  200 ; 
+static constexpr int TDCminrange      =    0 ;
+static constexpr int TDCmaxrange      = 2000 ;
+static constexpr int TDCNbin          =  200 ; 
+}
 
 /////////////////////////////////////////////////////////////////////////////
 // *********************************************************************
@@ -66,18 +67,8 @@ MdtVsRpcRawDataValAlg::MdtVsRpcRawDataValAlg( const std::string & type, const st
   declareProperty("Side",                       m_side=0); 
   declareProperty("Clusters",                   m_doClusters = false);  
   declareProperty("ClusterContainer",           m_clusterContainerName = "rpcClusters");
-  m_padsId        = 0 ;
-
-}
+ 
 
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
-MdtVsRpcRawDataValAlg::~MdtVsRpcRawDataValAlg()
-{
-  // fixes fot Memory leak
-  if (m_padsId) { 
-    delete m_padsId;
-    m_padsId = 0; }
-  ATH_MSG_INFO ( " deleting MdtVsRpcRawDataValAlg " );
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
@@ -89,6 +80,7 @@ StatusCode MdtVsRpcRawDataValAlg::initialize() {
   ATH_CHECK(m_idHelperSvc.retrieve());
   ATH_CHECK(m_key_mdt.initialize());
   ATH_CHECK(m_key_rpc.initialize());
+  m_BMEid = m_idHelperSvc->mdtIdHelper().stationNameIndex("BME");
   return StatusCode::SUCCESS;
 }
 
@@ -283,7 +275,7 @@ StatusCode MdtVsRpcRawDataValAlg::fillHistograms()
 		  float wirezmin     = +10000. ;
 		  float foundmin     =      0  ;	
 		  int stname_index = irpcstationName;  
-		  if (irpcstationName == 53) stname_index = MuonGM::MuonDetectorManager::NMdtStatType-2;
+		  if (irpcstationName == m_BMEid) stname_index = MuonGM::MuonDetectorManager::NMdtStatType-2;
 		  else stname_index = irpcstationName;
 		  for(int eta=0; eta!=17; eta++){ 
 		    const MuonGM::MdtReadoutElement* lastdescr = MuonDetMgr->getMdtReadoutElement(stname_index, eta, irpcstationPhi-1, imdt_multi_near-1);