diff --git a/autobahn_autoreconnect/__init__.py b/autobahn_autoreconnect/__init__.py
index <HASH>..<HASH> 100644
--- a/autobahn_autoreconnect/__init__.py
+++ b/autobahn_autoreconnect/__init__.py
@@ -172,7 +172,7 @@ class ApplicationRunner(object):
         txaio.use_asyncio()
         txaio.config.loop = self._loop
 
-        asyncio.async(self._connect(), loop=self._loop)
+        asyncio.run_coroutine_threadsafe(self._connect(), loop=self._loop)
 
         try:
             self._loop.add_signal_handler(signal.SIGTERM, self.stop)
@@ -221,7 +221,7 @@ class ApplicationRunner(object):
         print('Connection lost')
         if not self._closing:
             print('Reconnecting')
-            asyncio.async(self._connect(), loop=self._loop)
+            asyncio.run_coroutine_threadsafe(self._connect(), loop=self._loop)
 
     def stop(self, *args):
         self._loop.stop()
fix syntax error

async is a python keyword. the way to make asyncio submit a coroutine to a loop is run_coroutine_threadsafe()