diff --git a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp
index d9db15c2f3b1e36ef70b852130b2a5e39b2f5a67..5d0f5d02617115ca00a72b83f9bc171ff9dbd116 100644
--- a/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp
+++ b/Rec/ChargedProtoANNPID/src/ChargedProtoANNPIDTupleTool.cpp
@@ -83,13 +83,12 @@ namespace ANNGlobalPID {
       return odin;
     }
 
-    Input getInput( std::string const& name, IGeometryInfo const& geometry ) const override {
-      // Get a vector of input accessor objects for the configured variables
-      // only called once the first time it's needed
-      // FIXME : this is not safe, if geometry changed inputs are not updated. This should
-      // use a derived condition
-      std::call_once( m_inputsFlag, [this, &geometry]() { initInputs( geometry ); } );
+    /// Fill the tuple tool with information for the given ProtoParticle
+    StatusCode fill( Tuples::Tuple& tuple, LHCb::ProtoParticle const* proto, IGeometryInfo const& geometry,
+                     LHCb::ParticleID pid = LHCb::ParticleID() ) const override;
 
+  private:
+    Input getInput( std::string const& name, IGeometryInfo const& geometry ) const override {
       auto i = recSummaries.find( name );
       if ( i != recSummaries.end() ) return {name, inRecSummary( i->second, this )};
 
@@ -108,11 +107,6 @@ namespace ANNGlobalPID {
       return ChargedProtoANNPIDToolBase::getInput( name, geometry );
     }
 
-    /// Fill the tuple tool with information for the given ProtoParticle
-    StatusCode fill( Tuples::Tuple& tuple, LHCb::ProtoParticle const* proto, IGeometryInfo const& geometry,
-                     LHCb::ParticleID pid = LHCb::ParticleID() ) const override;
-
-  private:
     /// ProtoParticle variables as strings to add to the ntuple
     StringInputs m_variables;