diff --git a/socketio/server.py b/socketio/server.py
index 77f4d66..eceb3a4 100644
--- a/socketio/server.py
+++ b/socketio/server.py
@@ -384,8 +384,8 @@ class Server(object):
             namespace_list = [namespace]
         for n in namespace_list:
             if n != '/' and self.manager.is_connected(sid, n):
-                self.manager.disconnect(sid, n)
                 self._trigger_event('disconnect', n, sid)
+                self.manager.disconnect(sid, n)
         if namespace == '/' and self.manager.is_connected(sid, namespace):
             self._trigger_event('disconnect', '/', sid)
             self.manager.disconnect(sid, '/')