diff --git a/woman/lib.py b/woman/lib.py
index 4d36a3810028a4d556e5487c7cb15758c3b1b734..b22c34267d40ad98e9d32aeb449106559ae0fdc0 100644
--- a/woman/lib.py
+++ b/woman/lib.py
@@ -64,8 +64,6 @@ def swap_workspace(a_master, a_slave, b_master, b_slave):
         for i in shared.workspace_on:
             if shared.workspace_on[i] == a:
                 shared.workspace_on[i] = b
-        event_workspace_is_on(b, shared.output_of_workspace[a_master][a_slave])
-        event_workspace_deleted(a)
         if a_master == b_master and a_master is not None:
             if shared.slave_for[a_master] == a_slave:
                 shared.slave_for[a_master] = b_slave
@@ -85,6 +83,8 @@ def swap_workspace(a_master, a_slave, b_master, b_slave):
                     set_ws(*b)
                 elif a == (shared.master_on[i], shared.slave_on_for[i][a_master]):
                     set_ws(*b)
+        event_workspace_is_on(b, shared.output_of_workspace[a_master][a_slave])
+        event_workspace_deleted(a)
 
     with shared.lock:
         a = (a_master, a_slave)