diff --git a/test/aio/test_workspace.py b/test/aio/test_workspace.py
index <HASH>..<HASH> 100644
--- a/test/aio/test_workspace.py
+++ b/test/aio/test_workspace.py
@@ -4,27 +4,26 @@ import pytest
 import asyncio
 from i3ipc import Event
 
+events = asyncio.Queue()
 
 class TestWorkspace(IpcTest):
-    event = None
 
-    def on_workspace(self, i3, e):
-        TestWorkspace.event = e
-        i3.main_quit()
+    async def on_workspace(self, i3, e):
+        await events.put(e)
 
     @pytest.mark.asyncio
     async def test_workspace(self, i3):
         await i3.command('workspace 0')
         await i3.subscribe([Event.WORKSPACE])
-        i3.on(Event.WORKSPACE_INIT, self.on_workspace)
-        asyncio.ensure_future(i3.command('workspace 12'))
-        await i3.main()
+        i3.on(Event.WORKSPACE_FOCUS, self.on_workspace)
+        await i3.command('workspace 12')
+        e = await events.get()
+
         workspaces = await i3.get_workspaces()
 
         assert len(workspaces) == 1
         ws = workspaces[0]
         assert ws.name == '12'
 
-        e = TestWorkspace.event
         assert e is not None
         assert e.current.name == '12'
test: use workspace focus event instead of init