       @opponentSession.once 'sync', @onSessionLoaded, @
 
   sessionsLoaded: ->
+    return true if @headless
     @session.loaded and ((not @opponentSession) or @opponentSession.loaded)
 
   onSessionLoaded: ->

    return unless @supermodel?.finished() and @sessionsLoaded()
    @denormalizeSession()
    @loadLevelSounds()
    app.tracker.updatePlayState(@level, @session)
    @updateCompleted = true

  denormalizeSession: ->
    return if @sessionDenormalized or @spectateMode
    patch =
      'levelName': @level.get('name')
      'levelID': @level.get('slug') or @level.id

  # Session Loading

  loadSession: ->
    return if @headless
    if @sessionID
      url = "/db/level_session/#{@sessionID}"
    else
