diff --git a/AllenOnline/src/MEPProvider.cpp b/AllenOnline/src/MEPProvider.cpp
index e3fbd85a3cc49ec9b6050b02caae755d532ea6a6..7262cb4224b4794e26c9ab82c0cd52b4b22041c5 100755
--- a/AllenOnline/src/MEPProvider.cpp
+++ b/AllenOnline/src/MEPProvider.cpp
@@ -1672,6 +1672,10 @@ void MEPProvider::transpose( int thread_id ) {
       }
     } else {
       // Discard the slice if there is no valid ODIN
+      {
+        std::scoped_lock lock{m_transpose_mut, m_buffer_mutex};
+        m_transposed.erase( transpose_it );
+      }
       if ( msgLevel( MSG::DEBUG ) ) {
         debug() << "Transpose " << thread_id << ": No ODIN; discard slice " << *slice_index << endmsg;
       }