diff --git a/lib/zyre.js b/lib/zyre.js
index <HASH>..<HASH> 100644
--- a/lib/zyre.js
+++ b/lib/zyre.js
@@ -141,10 +141,11 @@ class Zyre extends EventEmitter {
    * @return {Promise}
    */
   stop(callback) {
+    this._zyreNode.removeAllListeners();
+    this._zyrePeers.removeAllListeners();
+    this._zyrePeers.disconnectAll();
+
     return new Promise((resolve) => {
-      this._zyreNode.removeAllListeners();
-      this._zyrePeers.removeAllListeners();
-      this._zyrePeers.disconnectAll();
       this._zBeacon.stop().then(() => {
         this._zyreNode.stopListening().then(() => {
           if (typeof callback === 'function') callback();
Move sync functions out of async promise body