diff --git a/algo/unpack/CommonUnpacker.cxx b/algo/unpack/CommonUnpacker.cxx
index 9dc30db5792c2883a5f38a0ddfd24dcc91a9ec3b..d7cc52db073c3d64534202dec590e6314147f08a 100644
--- a/algo/unpack/CommonUnpacker.cxx
+++ b/algo/unpack/CommonUnpacker.cxx
@@ -3,6 +3,8 @@
    Authors: Felix Weiglhofer [committer], Dominik Smith */
 #include "CommonUnpacker.h"
 
+#include <iomanip>
+
 using namespace cbm::algo;
 
 detail::MSData::MSData(const fles::Timeslice& ts, fles::Subsystem subsystem, gsl::span<u16> legalEqIds)
@@ -20,7 +22,8 @@ detail::MSData::MSData(const fles::Timeslice& ts, fles::Subsystem subsystem, gsl
     const u16 componentId = ts.descriptor(comp, 0).eq_id;
 
     if (std::find(legalEqIds.begin(), legalEqIds.end(), componentId) == legalEqIds.end()) {
-      L_(error) << "Invalid equipment id " << componentId << " for subsystem " << ToString(subsystem);
+      L_(error) << "Invalid equipment id 0x" << std::hex << std::setw(4) << componentId << std::dec << " for subsystem "
+                << ToString(subsystem);
       monitor.errInvalidEqId++;
       continue;
     }