diff --git a/lib/scsocket.js b/lib/scsocket.js
index <HASH>..<HASH> 100644
--- a/lib/scsocket.js
+++ b/lib/scsocket.js
@@ -377,6 +377,7 @@ SCSocket.prototype._suspendSubscriptions = function () {
     } else {
       newState = channel.UNSUBSCRIBED;
     }
+    
     this._triggerChannelUnsubscribe(channel, newState);
   }
 };
@@ -593,6 +594,8 @@ SCSocket.prototype._triggerChannelUnsubscribe = function (channel, newState) {
   } else {
     channel.state = channel.UNSUBSCRIBED;
   }
+  this._cancelPendingSubscribeCallback(channel);
+  
   if (oldState == channel.SUBSCRIBED) {
     channel.emit('unsubscribe', channelName);
     SCEmitter.prototype.emit.call(this, 'unsubscribe', channelName);
Bug fix - Channel would get stuck in pending state if the connection failed while the subscription was in the middle of being processed