diff --git a/algo/unpack/Unpack.cxx b/algo/unpack/Unpack.cxx
index 98543ee91fa21f6f41665ad4312235e273bad266..4d7db0822ba72cc270b17e0ff61028c5752ed7ad 100644
--- a/algo/unpack/Unpack.cxx
+++ b/algo/unpack/Unpack.cxx
@@ -35,6 +35,10 @@ namespace cbm::algo
       ParallelMsLoop(Subsystem::TOF, digiTs.fData.fTof.fDigis, monitor.fTof, *timeslice, fAlgoTof, 0x00);
     }
 
+    if (DetectorEnabled(Subsystem::BMON)) {
+      ParallelMsLoop(Subsystem::BMON, digiTs.fData.fT0.fDigis, monitor.fBmon, *timeslice, fAlgoBmon, 0x00);
+    }
+
     // ---  Component loop
     for (uint64_t comp = 0; comp < timeslice->num_components(); comp++) {
 
@@ -63,9 +67,9 @@ namespace cbm::algo
       // if (subsystem == Subsystem::TOF) {
       //   MsLoop(timeslice, fAlgoTof, comp, equipmentId, &digiTs.fData.fTof.fDigis, monitor, &monitor.fTof, 0x00);
       // }
-      if (subsystem == Subsystem::BMON) {
-        MsLoop(timeslice, fAlgoBmon, comp, equipmentId, &digiTs.fData.fT0.fDigis, monitor, &monitor.fBmon, 0x00);
-      }
+      // if (subsystem == Subsystem::BMON) {
+      //   MsLoop(timeslice, fAlgoBmon, comp, equipmentId, &digiTs.fData.fT0.fDigis, monitor, &monitor.fBmon, 0x00);
+      // }
       if (subsystem == Subsystem::TRD) {
         MsLoop(timeslice, fAlgoTrd, comp, equipmentId, &digiTs.fData.fTrd.fDigis, monitor, &monitor.fTrd, 0x01);
       }