diff --git a/src/modules/AlignmentTrackChi2/AlignmentTrackChi2.cpp b/src/modules/AlignmentTrackChi2/AlignmentTrackChi2.cpp
index ac5027981bbf96e3ec9875366816b0dbc83294e3..cf6f9cd20663f6c26583e63817528c524fbd14e8 100644
--- a/src/modules/AlignmentTrackChi2/AlignmentTrackChi2.cpp
+++ b/src/modules/AlignmentTrackChi2/AlignmentTrackChi2.cpp
@@ -147,8 +147,15 @@ void AlignmentTrackChi2::MinimiseTrackChi2(Int_t&, Double_t*, Double_t& result,
 
         track->fit();
 
-        // Add the new chi2
-        return track->getChi2();
+        // check if the fit has failed
+        if(!track->isFitted()) {
+            LOG(WARNING) << "Refit failed - track will be discarded for this alignment step ";
+            return 0.0;
+        }
+        else {
+            // add the new chi2
+            return track->getChi2();
+        }
     };
 
     // Loop over all tracks