             unsubscribeFromSource()
             Bacon.noMore
         else
-          queue = (queue or []).concat([event])
+          queue.push(event)
           Bacon.more
     @push = (event) =>
       UpdateBarrier.inTransaction event, this, pushIt, [event]

      else
        assertFunction sink
        subscription = { sink: sink }
        subscriptions = subscriptions.concat(subscription)
        if subscriptions.length == 1
          unsubSrc = subscribe @handleEvent
          unsubscribeFromSource = ->

            success = true
          finally
            pushing = false
            queue = [] unless success # ditch queue in case of exception to avoid unexpected behavior
          success = true
          while queue.length
            event = queue.shift()
            @push event
          done(event)
          if @hasSubscribers()
