diff --git a/algo/detectors/much/ReadoutConfig.cxx b/algo/detectors/much/ReadoutConfig.cxx
index cb1473f86183e4aac9b29c65d71544eb7a2ff642..ccf994cc2f28aa57812d7e72ef53bb45c20880bd 100644
--- a/algo/detectors/much/ReadoutConfig.cxx
+++ b/algo/detectors/much/ReadoutConfig.cxx
@@ -141,23 +141,27 @@ namespace cbm::algo::much
           uint32_t feb       = comp * numFebsPerComp + febInCrob;  // global FEB index
           int32_t febId      = GetFebId(feb);                      // FEB Id in MUCH addressing scheme
 
-          for (uint16_t chanInAsic = 0; chanInAsic < numChanPerAsic; chanInAsic++) {
-            uint32_t channel                       = chanInAsic + numChanPerAsic * (feb % numAsicsPerFeb);  //Fix this!
-            uint32_t address                       = CreateMuchAddress(comp, febId, channel);
-            fReadoutMap[equipment][elink][channel] = address;
+          // Skip unconnected FEB slots
+          if (-1 < febId) {
 
-            // Apply channel mask
-            if (maskedaddr.count(address)) {
-              std::vector<bool>& chanMask = fMaskMap[equipment][elink];
-              if (chanMask.empty()) {
-                chanMask.resize(numChanPerAsic, false);
+            for (uint16_t chanInAsic = 0; chanInAsic < numChanPerAsic; chanInAsic++) {
+              uint32_t channel = chanInAsic + numChanPerAsic * (feb % numAsicsPerFeb);  //Fix this!
+              uint32_t address = CreateMuchAddress(comp, febId, channel);
+              fReadoutMap[equipment][elink][channel] = address;
+
+              // Apply channel mask
+              if (maskedaddr.count(address)) {
+                std::vector<bool>& chanMask = fMaskMap[equipment][elink];
+                if (chanMask.empty()) {
+                  chanMask.resize(numChanPerAsic, false);
+                }
+                chanMask[channel] = true;
               }
-              chanMask[channel] = true;
-            }
-          }  //# channel
-        }    //# elink
-      }      //# CROB
-    }        //# component
+            }  //# channel
+          }
+        }  //# elink
+      }    //# CROB
+    }      //# component
   }
 
   //To do address need to be checked carefully
@@ -280,7 +284,9 @@ namespace cbm::algo::much
   {
     if (fChannelsToPadXA.size() <= (static_cast<uint32_t>(febid) * numChanPerAsic) + channelid) {
       LOG(debug) << "ReadoutConfig::GetPadXA => Index out of bounds: " << ((febid * numChanPerAsic) + channelid)
-                 << " VS " << fChannelsToPadXA.size() << " (" << febid << " and " << channelid << ")";
+                 << " VS " << fChannelsToPadXA.size() << " (" << static_cast<uint16_t>(febid) << ", " << numChanPerAsic
+                 << " and " << static_cast<uint16_t>(channelid) << ")";
+
       return -2;
     }
     return fChannelsToPadXA[(febid * numChanPerAsic) + channelid];
@@ -290,7 +296,8 @@ namespace cbm::algo::much
   {
     if (fChannelsToPadYA.size() <= (static_cast<uint32_t>(febid) * numChanPerAsic) + channelid) {
       LOG(debug) << "ReadoutConfig::GetPadYA => Index out of bounds: " << ((febid * numChanPerAsic) + channelid)
-                 << " VS " << fChannelsToPadYA.size() << " (" << febid << " and " << channelid << ")";
+                 << " VS " << fChannelsToPadYA.size() << " (" << static_cast<uint16_t>(febid) << ", " << numChanPerAsic
+                 << " and " << static_cast<uint16_t>(channelid) << ")";
       return -2;
     }
     return fChannelsToPadYA[(febid * numChanPerAsic) + channelid];