diff --git a/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx b/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx
index 348c803cecdedd6c417e645b18bb88d2ab5117f1..d648b11c93c6ea585dfdb794aba4dcdf23d9b38f 100644
--- a/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx
@@ -14,7 +14,9 @@ namespace xAOD {
     if (!tp) {
       throw std::runtime_error("Invalid TrackParticle pointer.");
     }
-    if( tp->definingParametersCovMatrixFilled() != xAOD::FullCovMatrixAvailable ) {
+    SG::AuxElement::ConstAccessor< std::vector<float> > accDiag( "definingParametersCovMatrixDiag" );
+    SG::AuxElement::ConstAccessor< std::vector<float> > accOffDiag( "definingParametersCovMatrixOffDiag" );
+    if( !(accDiag.isAvailable( *tp ) && accOffDiag.isAvailable( *tp )) ) {
       throw std::runtime_error("TrackParticle without covariance matrix for the defining parameters.");
     }
   }