     createBattleWindow(this, battle)
     if log.length > 0
       battle.view.skip = 0
-      @_updateBattle(battle, log, false)
+      @queueBattleUpdates(battle, log)
 
   joinBattle: (socket, id, user) =>
     battle = @get(id)

      'spectate battle': @spectateBattle
      'join battle': @joinBattle
      'leave battle': @leaveBattle
    @on 'remove', (model) ->
      PokeBattle.socket.send('leave battle', model.id)


    done = () =>
      return  if done.called
      done.called = true
      @_updateBattle.call(this, battle, wasAtBottom)

    try
      switch type
