diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.cxx b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.cxx
index f0d58a76d46b48894ac5cdf7b927a26851824e84..0ea5097f92627ea2065e5f6b4ea1592f195ccbd9 100644
--- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.cxx
+++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.cxx
@@ -48,7 +48,7 @@ CbmMcbm2018UnpackerAlgoTrdR::CbmMcbm2018UnpackerAlgoTrdR()
   , fNbUnkownWord(0)
   , fNbSpadicEpochMsg(0)
   , fParContList(nullptr)
-  , fRefGeoTag("trd_v18q_mcbm")
+  , fRefGeoTag("trd_v20a_mcbm")
   , fAsicPar(nullptr)
   , fDigiPar(nullptr)
   , fGasPar(nullptr)
@@ -211,6 +211,14 @@ Bool_t CbmMcbm2018UnpackerAlgoTrdR::ProcessTs(const fles::Timeslice& ts) {
                   [](const CbmTrdDigi& a, const CbmTrdDigi& b) -> bool {
                     return a.GetTime() < b.GetTime();
                   });
+        if (fbDebugWriteOutput && fbDebugSortOutput) {
+          std::sort(fTrdRawMessageVector->begin(),
+                    fTrdRawMessageVector->end(),
+                    [](const CbmTrdRawMessageSpadic& a,
+                       const CbmTrdRawMessageSpadic& b) -> bool {
+                      return a.GetTime() < b.GetTime();
+                    });
+        }
 
         LOG(error) << "Failed to process ts " << fCurrTsIdx << " MS " << MsIndex
                    << " for component " << uMsComp;
@@ -857,7 +865,7 @@ CbmMcbm2018UnpackerAlgoTrdR::MakeDigi(CbmTrdRawMessageSpadic raw) {
   Float_t digiCharge =
     (Float_t) raw.GetMaxAdc()
     + 256;  // REMARK raw.GetMaxADC returns a the value in the range of -256 til 255. However, the digiCharge is stored as unsigned.  // TODO make Settable
-  ULong64_t digiTime = raw.GetFullTime_ns() - fdTimeOffsetNs;
+  ULong64_t digiTime = raw.GetTime() - fdTimeOffsetNs;
   // Int_t digiTriggerType = raw.GetHitType() ; // Spadic::TriggerType this does not work 03/27/2020 - PR digiTriggerType is not Spadic::TriggerType!
   Int_t digiTriggerType = raw.GetHitType();
   if (digiTriggerType == 1)
diff --git a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h
index 3834a21eb523be8e1750978a18265ee1965eeaeb..a0c0e32ba68c396ed4444ca7d4226b24e413a33d 100644
--- a/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h
+++ b/fles/mcbm2018/unpacker/CbmMcbm2018UnpackerAlgoTrdR.h
@@ -126,6 +126,9 @@ public:
   void SetDebugWriteOutput(Bool_t bFlagIn = kTRUE) {
     fbDebugWriteOutput = bFlagIn;
   }
+  void SetDebugSortOutput(Bool_t bFlagIn = kTRUE) {
+    fbDebugWriteOutput = bFlagIn;
+  }
   inline void SetTimeOffsetNs(Double_t dOffsetIn = 0.0) {
     fdTimeOffsetNs = dOffsetIn;
   }
@@ -194,6 +197,8 @@ private:
     fbWriteOutput;  ///< If ON the output Vector of digis is written to disk.
   Bool_t
     fbDebugWriteOutput;  ///< If ON the raw messages output vector is filled and written to disk.
+  Bool_t fbDebugSortOutput =
+    kTRUE;  ///< If ON the raw messages output vector is sorted within time.
   Bool_t
     fbBaselineAvg;  ///< Set to true if Baseline Averaging is activated in Spadic.