diff --git a/LCS/Messaging/python/messaging/messagebus.py b/LCS/Messaging/python/messaging/messagebus.py
index d445b6cd098ea62c1822db97fa8cd834dab9edd2..70f3f9b90c424ab92f8cbdf7c25f844ecc243328 100644
--- a/LCS/Messaging/python/messaging/messagebus.py
+++ b/LCS/Messaging/python/messaging/messagebus.py
@@ -1456,6 +1456,7 @@ class BusListener:
             # check if the _listen_loop was started successfully
             logger.debug("waiting for thread %s to be running...", thread_name)
             if not (thread_started_event.wait(timeout=10) and thread.is_alive()):
+                self._running.clear() # clear running flag so thread loops can exit
                 msg = "Could not fully start listener thread: %s" % (thread_name,)
                 logger.error(msg)
                 raise MessagingRuntimeError(msg)