diff --git a/core/data/trd/CbmTrdDigi.cxx b/core/data/trd/CbmTrdDigi.cxx
index 4a47dcd7760139bbac87f564ac9944a4b2276afd..279e0c8014c66b16eb919ffa25cc33106f50ee1d 100644
--- a/core/data/trd/CbmTrdDigi.cxx
+++ b/core/data/trd/CbmTrdDigi.cxx
@@ -244,7 +244,14 @@ void CbmTrdDigi::SetFlag(const Int_t iflag, Bool_t set)
 }
 
 //_________________________________________________________________________________
-void CbmTrdDigi::SetTime(Double_t t) { fTime = ULong64_t(TMath::Ceil(t / Clk(GetType()))); }
+void CbmTrdDigi::SetTime(Double_t t)
+{
+  switch (GetType()) {
+    case eCbmTrdAsicType::kFASP: fTime = ULong64_t(TMath::Ceil(t / Clk(GetType())));
+    case eCbmTrdAsicType::kSPADIC: fTime = static_cast<ULong64_t>(t);
+    case eCbmTrdAsicType::kNTypes: return;
+  }
+}
 
 //_________________________________________________________________________________
 void CbmTrdDigi::SetTimeOffset(Char_t t)