                 queue.subscribe(listener)
                     .addCallback((ok) =>
                         ctag = ok.consumerTag
-                        @_remember_subscription(event, listener, {queue, auto_purge, ctag})
+                        @_remember_subscription(event, listener, {queue, ctag})
                     )
                 @emit('bound', {queue})
 

        return unless @_subscribed_queues[event]

        unsubscribe = (options) =>
            {queue, auto_purge, ctag} = options
            queue.unsubscribe(ctag)
            # If the queue is supposed to be auto_pruged, lets clean it up
            if auto_purge
                auto_purge_idx = @_auto_purge.indexOf()
                if auto_purge_idx >= 0
                    @_auto_purge.splice(auto_purge_idx, 1)
                delete @_queues[queue.name] if @_queues[queue.name]?
                queue.destroy()

        @_subscribed_queues[event] = @_subscribed_queues[event].filter (tuple) ->
            [l, options] = tuple

        queue_deferred = Q.defer()
        logger.trace("create queue instance", {queue_name, queue_opts})
        connection.queue queue_name, queue_opts, (queue) =>
            queue_deferred.resolve(queue)

        queue_deferred.promise
