diff --git a/src/L1TTC2LANSource.cxx b/src/L1TTC2LANSource.cxx
index ce778e955e86a4dee2160ce6607baf2f28701c8e..b4033708ad2540b4e10cf0d281a67a3b5845dd85 100644
--- a/src/L1TTC2LANSource.cxx
+++ b/src/L1TTC2LANSource.cxx
@@ -126,6 +126,12 @@ namespace {
         Session(const Session& ) = delete;
         Session& operator=(const Session& ) = delete;
 
+        void resetExtL1Id() noexcept
+        {
+            m_last_id = 0xff000000;
+            m_ECRcnt  = 0;
+        }
+
     protected:
         void onOpen() noexcept override
         {
@@ -244,6 +250,9 @@ namespace {
             name_service.publish("TTC2LANReceiver", localEndpoint().port());
         }
 
+      void reset(){
+	m_session->resetExtL1Id();
+      }
     protected:
 
         void onAccept(std::shared_ptr<daq::asyncmsg::Session> session) noexcept override
@@ -489,9 +498,10 @@ namespace hltsv {
     void
     L1TTC2LANSource::reset(uint32_t run_number)
     {
-        m_events.clear();
-        m_event_count = 0;
-        m_run_number = run_number;
+      m_server->reset();
+      m_events.clear();
+      m_event_count = 0;
+      m_run_number = run_number;
     }