diff --git a/algo/detectors/sts/UnpackMS.cxx b/algo/detectors/sts/UnpackMS.cxx
index 2b085a0c211f29fee1579dd3dc567c85397538fc..46b5ac8dcbc6545fe93cd0aab9db91a36b3b8f81 100644
--- a/algo/detectors/sts/UnpackMS.cxx
+++ b/algo/detectors/sts/UnpackMS.cxx
@@ -162,7 +162,7 @@ namespace cbm::algo::sts
     digiVec.emplace_back(elinkPar.fAddress, channel, messageTime, charge);
 
     if (fParams.fWriteAux) {
-      aux.fMissedEvent.push_back(message.IsHitMissedEvts());
+      aux.fQaDigis.emplace_back(message.IsHitMissedEvts(), elinkPar.fAddress, channel, messageTime, charge);
     }
   }
   // --------------------------------------------------------------------------
diff --git a/algo/detectors/sts/UnpackMS.h b/algo/detectors/sts/UnpackMS.h
index e2baaefbc009174bb4aeaec5f1f3e93377ed4472..3970498ca61cdaba147d2a212e79d5aade7e4d95 100644
--- a/algo/detectors/sts/UnpackMS.h
+++ b/algo/detectors/sts/UnpackMS.h
@@ -74,13 +74,36 @@ namespace cbm::algo::sts
     }
   };
 
+  /** @struct QaDigi
+   ** @author Dominik Smith <d.smith@gsi.de>
+   ** @since 05 Jun 2024
+   ** @brief Extended digi which contains auxiliary QA information
+   **/
+  struct QaDigi {
+
+    QaDigi(bool missed, int32_t addr, int32_t chan, uint32_t t, uint16_t c)
+      : missedEvent(missed)
+      , address(addr)
+      , channel(chan)
+      , time(t)
+      , charge(c)
+    {
+    }
+
+    bool missedEvent;
+    int32_t address;
+    int32_t channel;
+    uint32_t time;
+    uint16_t charge;
+  };
+
   /** @struct UnpackStsAux
    ** @author Dominik Smith <d.smith@gsi.de>
    ** @since 24 May 2024
    ** @brief Auxiliary data for STS unpacking
    **/
   struct UnpackAuxData {
-    std::vector<bool> fMissedEvent;  ///< Missed event flag for returned digis
+    std::vector<QaDigi> fQaDigis;
   };
 
   /** @class UnpackMS