diff --git a/AllenOnline/src/MEPProvider.cpp b/AllenOnline/src/MEPProvider.cpp
index 7262cb4224b4794e26c9ab82c0cd52b4b22041c5..7ccc68eb9cf274f31445e8c5109cc25fdc97c374 100755
--- a/AllenOnline/src/MEPProvider.cpp
+++ b/AllenOnline/src/MEPProvider.cpp
@@ -142,12 +142,12 @@ std::tuple<bool, bool, bool, size_t, size_t, std::any> MEPProvider::get_slice( s
 
   // Check if I/O and transposition is done and return a slice index
   if ( !timed_out && transposed && !m_read_error ) {
+    size_t n_events = transposed->n_transposed ? *( transposed->n_transposed ) : 0u;
     if ( msgLevel( MSG::DEBUG ) ) {
       debug() << "get_slice returning " << transposed->slice_index << "; error " << m_read_error << " done " << done
-              << " n_filled "
-              << ( transposed->n_transposed ? std::to_string( *( transposed->n_transposed ) ) : std::string{} )
-              << endmsg;
+              << " n_filled " << ( n_events != 0 ? std::to_string( n_events ) : std::string{} ) << endmsg;
     }
+    ( *m_eventsToBatches ) += n_events;
     return {!m_read_error, done, timed_out, transposed->slice_index, *( transposed->n_transposed ), odin_span};
   } else {
     if ( timed_out && msgLevel( MSG::DEBUG ) ) {
@@ -316,9 +316,10 @@ StatusCode MEPProvider::initialize() {
     return StatusCode::FAILURE;
   }
 
-  m_mepsInput   = std::make_unique<Gaudi::Accumulators::Counter<>>( burstsSvc, "IN" );
-  m_eventsInput = std::make_unique<Gaudi::Accumulators::Counter<>>( eventsSvc, "IN" );
-  m_mbInput     = std::make_unique<Gaudi::Accumulators::Counter<>>( eventsSvc, "MB_IN" );
+  m_mepsInput       = std::make_unique<Gaudi::Accumulators::Counter<>>( burstsSvc, "IN" );
+  m_eventsInput     = std::make_unique<Gaudi::Accumulators::Counter<>>( eventsSvc, "IN" );
+  m_eventsToBatches = std::make_unique<Gaudi::Accumulators::Counter<>>( eventsSvc, "OUT" );
+  m_mbInput         = std::make_unique<Gaudi::Accumulators::Counter<>>( eventsSvc, "MB_IN" );
 
 #ifdef HAVE_MPI
   if ( !m_buffer_numa.value().empty() && m_buffer_numa.value().size() != n_buffers() ) {
diff --git a/AllenOnline/src/MEPProvider.h b/AllenOnline/src/MEPProvider.h
index 4cf857d477e80664a9c9c077b2c85402901e2bb7..7c495689cb06a9886f08ff46d20a1010887bb8cd 100644
--- a/AllenOnline/src/MEPProvider.h
+++ b/AllenOnline/src/MEPProvider.h
@@ -350,5 +350,6 @@ private:
 
   std::unique_ptr<Gaudi::Accumulators::Counter<>> m_mepsInput;
   std::unique_ptr<Gaudi::Accumulators::Counter<>> m_eventsInput;
+  std::unique_ptr<Gaudi::Accumulators::Counter<>> m_eventsToBatches;
   std::unique_ptr<Gaudi::Accumulators::Counter<>> m_mbInput;
 };