diff --git a/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py b/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py
index 7819e7b010c3cbe80016fd16ee7226ef57395c89..787ace34fd868f1b00891f06b8fc919fe43505f5 100644
--- a/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py
+++ b/TileCalorimeter/TileMonitoring/python/TileCellMonitorAlgorithm.py
@@ -181,7 +181,7 @@ def TileCellMonitoringConfig(flags, **kwargs):
                              xvalue = 'lumiBlock', value= 'nMaskedChannelsOnFly', title = titleMaskOnFlyLB,
                              xbins = 1000, xmin = -0.5, xmax = 999.5, type = 'TProfile', run = run, triggers = [],
                              perPartition = True, perSample = False, perGain = False, subDirectory = False,
-                             opt = 'kAddBinsDynamically')
+                             opt = 'kAddBinsDynamically', allPartitions = True)
 
     # 17) Configure histograms with number of masked Tile cells on the fly vs lumi block per partition
     titleMaskCellLB = 'Number of masked cells on the fly'
@@ -190,7 +190,7 @@ def TileCellMonitoringConfig(flags, **kwargs):
                              xvalue = 'lumiBlock', value = 'nMaskedCells', title = titleMaskCellLB,
                              xbins = 1000, xmin = -0.5, xmax = 999.5, type='TProfile', run = run, triggers = [],
                              subDirectory = False, perPartition = True, perSample = False, perGain = False,
-                             opt = 'kAddBinsDynamically')
+                             opt = 'kAddBinsDynamically', allPartitions = True)
 
     # 18) Configure histograms with number of masked Tile channels on the fly due to bad DQ status vs lumi block per partition
     titleMaskDueDQ = 'Number of masked channels on the fly due to bad DQ status'
@@ -199,7 +199,7 @@ def TileCellMonitoringConfig(flags, **kwargs):
                              xvalue = 'lumiBlock', value = 'nMaskedChannelsDueDQ', title = titleMaskDueDQ,
                              xbins = 1000, xmin = -0.5, xmax = 999.5, type='TProfile', run = run, triggers = [],
                              subDirectory = False, perPartition = True, perSample = False, perGain = False,
-                             opt = 'kAddBinsDynamically')
+                             opt = 'kAddBinsDynamically', allPartitions = True)
 
     # 19) Configure histograms with number of masked Tile cells on the fly due to bad DQ status vs lumi block per partition
     titleMaskCellDueDQ = 'Number of masked cells on the fly due to bad DQ status'
@@ -208,7 +208,7 @@ def TileCellMonitoringConfig(flags, **kwargs):
                              xvalue = 'lumiBlock', value = 'nMaskedCellsDueDQ', title = titleMaskCellDueDQ,
                              xbins = 1000, xmin = -0.5, xmax = 999.5, type='TProfile', run = run, triggers = [],
                              subDirectory = False, perPartition = True, perSample = False, perGain = False,
-                             opt = 'kAddBinsDynamically')
+                             opt = 'kAddBinsDynamically', allPartitions = True)
 
     if kwargs['fillChannelTimeHistograms']:
         # Configure histograms with Tile channel time per partition and sample
diff --git a/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx b/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx
index 52588ca00bca3062755bccf05b5494228177d5ce..5ea606bffc17e6d95b47da02a910b8407d58c939 100644
--- a/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx
+++ b/TileCalorimeter/TileMonitoring/src/TileCellMonitorAlgorithm.cxx
@@ -42,11 +42,11 @@ StatusCode TileCellMonitorAlgorithm::initialize() {
   m_energyBalModPartGroups = buildToolMap<int>(m_tools, "TileCellEneBalModPart", nL1Triggers);
   m_timeBalModPartGroups = buildToolMap<int>(m_tools, "TileCellTimeBalModPart", nL1Triggers);
   m_maskedOnFlyGroups = buildToolMap<int>(m_tools, "TileCellStatusOnFly", Tile::MAX_ROS - 1);
-  m_maskedDueDQGroups = buildToolMap<int>(m_tools, "TileMaskChannelDueDQvsLB", Tile::MAX_ROS - 1);
-  m_maskedCellsDueDQGroups = buildToolMap<int>(m_tools, "TileMaskedCellDueDQvsLB", Tile::MAX_ROS - 1);
+  m_maskedDueDQGroups = buildToolMap<int>(m_tools, "TileMaskChannelDueDQvsLB", MAX_PART);
+  m_maskedCellsDueDQGroups = buildToolMap<int>(m_tools, "TileMaskedCellDueDQvsLB", MAX_PART);
 
-  m_maskedOnFlyLBGroups = buildToolMap<int>(m_tools, "TileMaskChannelOnFlyLB", Tile::MAX_ROS - 1);
-  m_maskedCellsLBGroups = buildToolMap<int>(m_tools, "TileMaskCellLB", Tile::MAX_ROS - 1);
+  m_maskedOnFlyLBGroups = buildToolMap<int>(m_tools, "TileMaskChannelOnFlyLB", MAX_PART);
+  m_maskedCellsLBGroups = buildToolMap<int>(m_tools, "TileMaskCellLB", MAX_PART);
 
   m_maskedGroups = buildToolMap<std::vector<int>>(m_tools, "TileCellStatusInDB",
                                                   Tile::MAX_ROS - 1, Tile::MAX_GAIN);
@@ -721,18 +721,6 @@ StatusCode TileCellMonitorAlgorithm::fillHistograms( const EventContext& ctx ) c
 
   for (unsigned int partition = 0; partition < Tile::MAX_ROS - 1; ++partition) {
 
-    auto monMaskedDueDQ = Monitored::Scalar<int>("nMaskedChannelsDueDQ", nMaskedChannelsDueDQ[partition]);
-    fill(m_tools[m_maskedDueDQGroups[partition]], lumiBlock, monMaskedDueDQ);
-
-    auto monMaskedCellsDueDQ = Monitored::Scalar<int>("nMaskedCellsDueDQ", nMaskedCellsDueDQ[partition]);
-    fill(m_tools[m_maskedCellsDueDQGroups[partition]], lumiBlock, monMaskedCellsDueDQ);
-
-    auto monMaskedOnFly = Monitored::Scalar<int>("nMaskedChannelsOnFly", nBadChannelsOnFly[partition]);
-    fill(m_tools[m_maskedOnFlyLBGroups[partition]], lumiBlock, monMaskedOnFly);
-
-    auto monMaskedCellsOnFly = Monitored::Scalar<int>("nMaskedCells", nBadCells[partition]);
-    fill(m_tools[m_maskedCellsLBGroups[partition]], lumiBlock, monMaskedCellsOnFly);
-
     if (!maskedOnFlyDrawers[partition].empty()) {
       auto monModule = Monitored::Collection("module", maskedOnFlyDrawers[partition]);
       auto monChannel = Monitored::Collection("channel", maskedOnFlyChannel[partition]);
@@ -857,6 +845,19 @@ StatusCode TileCellMonitorAlgorithm::fillHistograms( const EventContext& ctx ) c
   }
 
   for (int partition = 0; partition < MAX_PART; ++partition) {
+    auto monMaskedDueDQ = Monitored::Scalar<int>("nMaskedChannelsDueDQ", nMaskedChannelsDueDQ[partition]);
+    fill(m_tools[m_maskedDueDQGroups[partition]], lumiBlock, monMaskedDueDQ);
+
+    auto monMaskedCellsDueDQ = Monitored::Scalar<int>("nMaskedCellsDueDQ", nMaskedCellsDueDQ[partition]);
+    fill(m_tools[m_maskedCellsDueDQGroups[partition]], lumiBlock, monMaskedCellsDueDQ);
+
+    auto monMaskedOnFly = Monitored::Scalar<int>("nMaskedChannelsOnFly", nBadChannelsOnFly[partition]);
+    fill(m_tools[m_maskedOnFlyLBGroups[partition]], lumiBlock, monMaskedOnFly);
+
+    auto monMaskedCellsOnFly = Monitored::Scalar<int>("nMaskedCells", nBadCells[partition]);
+    fill(m_tools[m_maskedCellsLBGroups[partition]], lumiBlock, monMaskedCellsOnFly);
+
+
     if (moduleCorr[partition].numberOfPairs() > 0) {
       const PairBuilder::PairVector pairs = moduleCorr[partition].pairs();
       auto monModule1 = Monitored::Collection("firstModule", pairs, [] (const PairBuilder::XYPair& p) {return (double) p.first;});