diff --git a/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx b/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx
index ebe5ee75293823dd6557eaaa282504c80a2a3c34..1616e548a27194de9c0ca8ac59a69317f57c7723 100644
--- a/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx
+++ b/analysis/common/analysis_tree_converter/CbmTrdTracksConverter.cxx
@@ -92,7 +92,6 @@ void CbmTrdTracksConverter::ProcessData(CbmEvent* event)
     trd_track->GetParamLast()->Momentum(mom_last);
 
     track.SetMomentum3(mom);
-    track.SetField(int(trd_track->GetNofHits()), i_n_hits_);
 
     track.SetField(float(trd_track->GetPidLikeEL()), i_pid_like_);
     track.SetField(float(trd_track->GetPidLikePI()), i_pid_like_ + 1);
@@ -109,14 +108,20 @@ void CbmTrdTracksConverter::ProcessData(CbmEvent* event)
       track.SetField(0.f, i_e_loss_i_ + i);
     }
 
+    int trd_hits = trd_track->GetNofHits();
     for (Int_t ihit = 0; ihit < trd_track->GetNofHits(); ihit++) {
       Int_t idx = trd_track->GetHitIndex(ihit);
       auto* hit = (CbmTrdHit*) cbm_trd_hits_->At(idx);
       if (hit) {
-        //        std::cout << hit->GetELoss()*1e6 << "  " << hit->GetPlaneId() << std::endl;
-        track.SetField(float(hit->GetELoss() * 1e6), i_e_loss_i_ + hit->GetPlaneId());
+	if (hit->GetELoss() > 0) {
+          track.SetField(float(hit->GetELoss() * 1e6), i_e_loss_i_ + hit->GetPlaneId());
+	} else {
+          trd_hits--;
+	}
       }
     }
+    
+    track.SetField(trd_hits, i_n_hits_);
 
     if (rec_tracks_map.empty()) { continue; }
     const Int_t stsTrackIndex = global_track->GetStsTrackIndex();