diff --git a/torba/server/server.py b/torba/server/server.py
index b6435e5ab..384287d20 100644
--- a/torba/server/server.py
+++ b/torba/server/server.py
@@ -126,8 +126,9 @@ class Server:
             loop.add_signal_handler(signal.SIGINT, __exit)
             loop.add_signal_handler(signal.SIGTERM, __exit)
             loop.run_until_complete(self.start())
+            loop.run_until_complete(self.shutdown_event.wait())
         except (SystemExit, KeyboardInterrupt):
             pass
         finally:
-            executor.shutdown(True)
             loop.run_until_complete(self.stop())
+            executor.shutdown(True)