diff --git a/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx b/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx
index 8e60ee537119192c05dc63a6c570f765ede8f5e3..d00a4506e8c9c9d73b79f2246e31caf7a564898c 100644
--- a/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx
+++ b/analysis/common/analysis_tree_converter/CbmFsdHitsConverter.cxx
@@ -266,6 +266,11 @@ void CbmFsdHitsConverter::ProcessData(CbmEvent* event)
 
     if ((bestMatchedIndex >= 0) && (bestChi2 > fsdgtrack_minChi2_) && (bestChi2 < fsdgtrack_maxChi2_)) {
       const auto trackIndex = event ? event->GetIndex(ECbmDataType::kGlobalTrack, bestMatchedIndex) : bestMatchedIndex;
+      if (trackIndex > cbm_global_tracks_->GetEntriesFast()) {
+        LOG(error) << "Trying to access element " << trackIndex << " which is out ot the global track array of size"
+                   << cbm_global_tracks_->GetEntriesFast();
+        continue;
+      }
       const auto* globalTrack   = static_cast<const CbmGlobalTrack*>(cbm_global_tracks_->At(trackIndex));
       FairTrackParam param_last = *(globalTrack->GetParamLast());
       FairTrackParam param_fsd  = ExtrapolateGtrack(hitZ, param_last);
diff --git a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx
index 7af3a55011449aa02420e6dcf473469cc18353f9..eeadfa3dee97416b342f6a885062692505082d1c 100644
--- a/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx
+++ b/analysis/common/analysis_tree_converter/CbmStsTracksConverter.cxx
@@ -248,7 +248,7 @@ void CbmStsTracksConverter::MapTracks(CbmEvent* event)
   CbmTrackMatchNew* match {nullptr};
 
   int file_id {0}, event_id {0};
-  if (event && event->GetMatch()->GetNofLinks() > 0) {
+  if (event && event->GetMatch() && event->GetMatch()->GetNofLinks() > 0) {
     file_id  = event->GetMatch()->GetMatchedLink().GetFile();
     event_id = event->GetMatch()->GetMatchedLink().GetEntry();
   }