diff --git a/sllurp/llrp.py b/sllurp/llrp.py
index <HASH>..<HASH> 100644
--- a/sllurp/llrp.py
+++ b/sllurp/llrp.py
@@ -135,11 +135,11 @@ class LLRPClientFactory (ClientFactory):
 
     def clientConnectionFailed (self, connector, reason):
         logging.error('Connection failed: {}'.format(reason))
-        reactor.stop()
+        reactor.callFromThread(reactor.stop)
 
     def clientConnectionLost (self, connector, reason):
         logging.info('Connection lost: {}'.format(reason))
-        reactor.stop()
+        reactor.callFromThread(reactor.stop)
 
 class LLRPReaderThread (Thread):
     """ Thread object that connects input and output message queues to a
properly shut down reactor on connection fail/lost