diff --git a/lib/transport.js b/lib/transport.js
index <HASH>..<HASH> 100644
--- a/lib/transport.js
+++ b/lib/transport.js
@@ -172,9 +172,11 @@ Transport.prototype.onSocketDrain = function () {
  */
 
 Transport.prototype.onForcedDisconnect = function () {
-  if (!this.disconnected && this.open) {
+  if (!this.disconnected) {
     this.log.info('transport end by forced client disconnection');
-    this.packet({ type: 'disconnect' });
+    if (this.open) {
+      this.packet({ type: 'disconnect' });
+    }
     this.end(true);
   }
 };
Fixed; force disconnection can still happen even with temporarily closed transports.