diff --git a/DAQ/MDF/include/MDF/OnlineRunInfo.h b/DAQ/MDF/include/MDF/OnlineRunInfo.h
deleted file mode 100755
index d1a42c70014d5c05b80f3cc80cbfa0c8da43ce84..0000000000000000000000000000000000000000
--- a/DAQ/MDF/include/MDF/OnlineRunInfo.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*****************************************************************************\
-* (c) Copyright 2000-2020 CERN for the benefit of the LHCb Collaboration      *
-*                                                                             *
-* This software is distributed under the terms of the GNU General Public      *
-* Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING".   *
-*                                                                             *
-* In applying this licence, CERN does not waive the privileges and immunities *
-* granted to it by virtue of its status as an Intergovernmental Organization  *
-* or submit itself to any jurisdiction.                                       *
-\*****************************************************************************/
-#ifndef MDF_ONLINERUNINFO_H
-#define MDF_ONLINERUNINFO_H
-
-#define ONLINERUNINFO_ALIGN( x ) x __attribute__( ( __packed__ ) )
-
-/*
- *  LHCb namespace declaration
- */
-namespace LHCb {
-
-  /** @class OnlineRunInfo OnlineRunInfo.h MDF/OnlineRunInfo.h
-   *
-   * Basic run information from ODIN bank.
-   */
-  ONLINERUNINFO_ALIGN( struct ) OnlineRunInfo {
-    unsigned int  Run;
-    short int     EventType;
-    short int     CalibrationStep;
-    unsigned int  Orbit;
-    long long int L0ID;
-    long long int GPSTime;
-    unsigned      detStatus : 24;
-    unsigned      errors : 8;
-    unsigned      bunchID : 12;
-    unsigned      TAEWindow : 3;
-    unsigned      pad0 : 1;
-    unsigned      triggerType : 3;
-    unsigned      readoutType : 2;
-    unsigned      forceBit : 1;
-    unsigned      bxType : 2;
-    unsigned      bunchCurrent : 8;
-    unsigned int  TCK;
-  };
-} // end namespace LHCb
-#undef ONLINERUNINFO_ALIGN
-
-#endif // MDF_ONLINERUNINFO_H
diff --git a/DAQ/MDF/src/MDFIO.cpp b/DAQ/MDF/src/MDFIO.cpp
index 029546bab3d1c52a4a0daab802f3dd849b9378f5..e3a9023a253208673182688e5b72be9678feb223 100644
--- a/DAQ/MDF/src/MDFIO.cpp
+++ b/DAQ/MDF/src/MDFIO.cpp
@@ -16,12 +16,12 @@
 //
 //  ====================================================================
 #include "MDF/MDFIO.h"
+#include "Event/ODIN.h"
 #include "Event/RawEvent.h"
 #include "GaudiKernel/IRegistry.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/SmartDataPtr.h"
 #include "MDF/MDFHeader.h"
-#include "MDF/OnlineRunInfo.h"
 #include "MDF/RawDataAddress.h"
 #include "MDF/RawEventHelpers.h"
 #include "MDF/RawEventPrintout.h"
@@ -133,15 +133,15 @@ StatusCode LHCb::MDFIO::commitRawBanks( int compTyp, int chksumTyp, void* const
         log1 << MSG::INFO << "Adding dummy MDF/DAQ[DAQ_STATUS_BANK] information." << endmsg;
       } else {
         unsigned int         trMask[4] = {~0u, ~0u, ~0u, ~0u};
-        const OnlineRunInfo* odin_info = odin[0]->begin<OnlineRunInfo>();
-        MDFHeader::SubHeader inf       = hdrBank->begin<MDFHeader>()->subHeader();
+        const LHCb::ODIN     odin_info{odin[0]->range<std::uint32_t>()};
+        MDFHeader::SubHeader inf = hdrBank->begin<MDFHeader>()->subHeader();
         MsgStream            log1( m_msgSvc, m_parent );
         if ( log1.level() <= MSG::DEBUG )
           log1 << MSG::DEBUG << "Creating MDF/DAQ[DAQ_STATUS_BANK] with ODIN information." << endmsg;
         inf.H1->setTriggerMask( trMask );
-        inf.H1->setRunNumber( odin_info->Run );
-        inf.H1->setOrbitNumber( odin_info->Orbit );
-        inf.H1->setBunchID( odin_info->bunchID );
+        inf.H1->setRunNumber( odin_info.runNumber() );
+        inf.H1->setOrbitNumber( odin_info.orbitNumber() );
+        inf.H1->setBunchID( odin_info.bunchId() );
       }
       raw->adoptBank( hdrBank, true );
       return commitRawBanks( raw, hdrBank, compTyp, chksumTyp, ioDesc );
diff --git a/DAQ/MDF/src/RawEventHelpers.cpp b/DAQ/MDF/src/RawEventHelpers.cpp
index e6ec94fc68a9f5559e64fcac0da4090868813e72..dfc83c652e57a696e74fed02f543258b212cea82 100755
--- a/DAQ/MDF/src/RawEventHelpers.cpp
+++ b/DAQ/MDF/src/RawEventHelpers.cpp
@@ -18,7 +18,6 @@
 #include "MDF/RawEventHelpers.h"
 #include "Event/RawEvent.h"
 #include "MDF/MDFHeader.h"
-#include "MDF/OnlineRunInfo.h"
 #include "MDF/RawEventPrintout.h"
 #include <cstring> // For memcpy with gcc 4.3
 #include <iostream>
@@ -637,8 +636,8 @@ bool LHCb::isTAERawEvent( RawEvent* raw ) {
   //== Check ODIN event type to see if this is TAE
   const auto& oBnks = raw->banks( RawBank::ODIN );
   return std::any_of( oBnks.begin(), oBnks.end(), []( const RawBank* bank ) {
-    return bank->begin<OnlineRunInfo>()->triggerType ==
-               static_cast<std::uint8_t>( ODIN::TriggerTypes::TimingTrigger ) ||
-           bank->begin<OnlineRunInfo>()->TAEWindow != 0;
+    const LHCb::ODIN odin{bank->range<std::uint32_t>()};
+    return odin.triggerType() == static_cast<std::uint8_t>( ODIN::TriggerTypes::TimingTrigger ) ||
+           odin.timeAlignmentEventWindow() != 0;
   } );
 }