diff --git a/src/THcShower.cxx b/src/THcShower.cxx
index 82a35561354a5710bfff0b899c112675c47730fb..81e6e7bfea28904d5b2cf4529afa280d19b2e61a 100644
--- a/src/THcShower.cxx
+++ b/src/THcShower.cxx
@@ -957,13 +957,17 @@ Int_t THcShower::FineProcess( TClonesArray& tracks )
 
   // Additional quantities for calibration, taken from the 1-st track currently.
 
-  THaTrack* theTrack = static_cast<THaTrack*>( tracks[0] );
-  fTRDeltaP = theTrack->GetDp();
-  fTRBeta   = theTrack->GetBeta();
-  fTRP      = theTrack->GetP();
-  fTRXp     = theTrack->GetTheta();
-  fTRYp     = theTrack->GetPhi();
- 
+  Int_t Ntracks = tracks.GetLast()+1;   // Number of reconstructed tracks
+
+  if(Ntracks > 0) {
+    THaTrack* theTrack = static_cast<THaTrack*>( tracks[0] );
+    fTRDeltaP = theTrack->GetDp();
+    fTRBeta   = theTrack->GetBeta();
+    fTRP      = theTrack->GetP();
+    fTRXp     = theTrack->GetTheta();
+    fTRYp     = theTrack->GetPhi();
+  };
+
   return 0;
 }