diff --git a/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx b/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
index eb161dca5bf8501d213b999fe975e0c6cc886bf8..e0f59b533da971df43d2baa022d5312731ed585c 100644
--- a/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
@@ -212,6 +212,7 @@ namespace xAOD {
   }
 #endif // not XAOD_STANDALONE and not XAOD_MANACORE
 
-  // AUXSTORE_OBJECT_SETTER_AND_GETTER(NeutralParticle_v1, ElementLink< VertexContainer >, vertex, setVertex)
-
+  void NeutralParticle_v1::resetCache(){
+     m_perigeeParameters.reset();
+   }
 } // namespace xAOD
diff --git a/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx
index ea367f303b1880f26dd83bdd7e3785d77bb2ccec..e898ee7b39af3f6440e1b059c1a07914602007c9 100644
--- a/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx
@@ -507,8 +507,12 @@ namespace xAOD {
       }
 
       return *( acc( *this ) );
-   }
-   
+   } 
 #endif // not XAOD_STANDALONE and not XAOD_MANACORE
+   
+   void TrackParticle_v1::resetCache(){
+     m_perigeeParameters.reset();
+   }
 
+ 
 } // namespace xAOD
diff --git a/Event/xAOD/xAODTracking/xAODTracking/selection.xml b/Event/xAOD/xAODTracking/xAODTracking/selection.xml
index 7986838ee9cf763c51ad0d8af2df2034360e30a6..4619fabaf1f36f9b2246800ea605d62176a28531 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/selection.xml
+++ b/Event/xAOD/xAODTracking/xAODTracking/selection.xml
@@ -31,7 +31,12 @@
   <class name="xAOD::TrackParticle_v1">
          <field name="m_perigeeParameters" transient="true"/>
   </class>
-
+  <read sourceClass="xAOD::TrackParticle_v1" version="[1-]"
+        targetClass="xAOD::TrackParticle_v1" source="" target="" >
+    <![CDATA[
+       newObj->resetCache();
+    ]]> 
+  </read>
   <class name="xAOD::TrackParticleAuxContainer_v1"
          id="C3B01EA0-CA87-4C96-967F-E0F9A75BD370"/>
   <class name="xAOD::TrackParticleContainer_v1"
@@ -74,7 +79,12 @@
   <class name="xAOD::NeutralParticle_v1">
          <field name="m_perigeeParameters" transient="true"/>
   </class>
-  
+  <read sourceClass="xAOD::NeutralParticle_v1" version="[1-]"
+        targetClass="xAOD::NeutralParticle_v1" source="" target="" >
+    <![CDATA[
+       newObj->resetCache();
+    ]]> 
+  </read>
   <class name="xAOD::NeutralParticleAuxContainer_v1"
          id="006862BC-5CEB-11E3-9FB4-02163E00A92F"/>
   <class name="xAOD::NeutralParticleContainer_v1"
diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
index 7440a222e0afc8bdb20c94a6b64e9953c9018652..900c86f6f6fd87dcd6968bf1f568401aabb7a96c 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
@@ -134,12 +134,10 @@ namespace xAOD {
       const Trk::NeutralPerigee& perigeeParameters() const;
 #endif // not XAOD_STANDALONE and not XAOD_MANACORE
 
-      // /// @brief Returns a link (which can be invalid) to the xAOD::Vertex associated with this NeutralParticle.
-      // const ElementLink< VertexContainer >& vertex() const;
-      // /// @brief Set the link to the vertex
-      //  void setVertex(const ElementLink< VertexContainer >& vertex);
-
-    private:
+      /// Reset the internal cache of the object
+      void resetCache();
+ 
+  private:
 #if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) ) && ( ! defined(__GCCXML__) ) && !defined(__CLING__)
       /// @brief Cached NeutralPerigee, built from this object.
       /// @note This is only available in Athena.
diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticle_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticle_v1.h
index 5666740134e35c9135b6af36525fd623aec265ce..f333c26ec7c463fcee5c9beb5a968bb4d7f9a030 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticle_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/versions/TrackParticle_v1.h
@@ -316,7 +316,11 @@ namespace xAOD {
 #endif // not XAOD_STANDALONE and not XAOD_MANACORE
         
       /// @}
-    private:
+
+      /// Reset the internal cache of the object
+      void resetCache();
+ 
+private:
 
 #if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) ) && ( ! defined(__GCCXML__) )  && !defined(__CLING__)
       /// @brief Cached MeasuredPerigee, built from this object.