diff --git a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx
index 756be534e5796ad1fa230d889b49c466907233ca..c4638708fa1aadeea65566189d52554b8bd9117b 100644
--- a/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx
+++ b/Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx
@@ -1621,7 +1621,7 @@ namespace Trk {
       }
     }
 
-    std::unique_ptr<GXFTrackState> firstpseudostate;
+    GXFTrackState * firstpseudostate = nullptr;
     std::vector<GXFTrackState *> outlierstates;
     std::vector<GXFTrackState *> outlierstates2;
     
@@ -1677,15 +1677,16 @@ namespace Trk {
           par2->associatedSurface()
         );
         
-        firstpseudostate = std::make_unique<GXFTrackState>(std::move(newpseudo), std::move(par2));
-        firstpseudostate->setMeasurementType(TrackState::Pseudo);
+        std::unique_ptr<GXFTrackState> firstpseudo = std::make_unique<GXFTrackState>(std::move(newpseudo), std::move(par2));
+        firstpseudo->setMeasurementType(TrackState::Pseudo);
         
         double errors[5];
         errors[0] = errors[2] = errors[3] = errors[4] = -1;
         errors[1] = 10;
         
-        firstpseudostate->setMeasurementErrors(errors);
-        trajectory.addMeasurementState(std::move(firstpseudostate));
+        firstpseudo->setMeasurementErrors(errors);
+        firstpseudostate = firstpseudo.get();
+        trajectory.addMeasurementState(std::move(firstpseudo));
         ATH_MSG_DEBUG("Adding PseudoMeasurement");
         continue;
       }