             @courseInstance.sessions.comparator = 'changed'
             @listenToOnce @courseInstance.sessions, 'sync', =>
               @courseStats = @classroom.statsForSessions(@courseInstance.sessions, @course.id)
+              @render()
             @courseLevels = new Levels()
             @supermodel.trackRequest @courseLevels.fetchForClassroomAndCourse(classroomID, courseID, {
               data: { project: 'concepts,practice,assessment,primerLanguage,type,slug,name,original,description,shareable,i18n' }

    leaderboardModal = new LeaderboardModal supermodel: @supermodel, levelSlug: levelSlug
    @openModalView leaderboardModal

  determineNextLevel: (orderedLevels) ->
    if @courseStats?
      @applyCourseLogicToLevels(orderedLevels)
      return true



    levelPlayCountsRequest.load()

  onLoaded: ->
    if @isClassroom()
      @updateClassroomSessions()
    else
      unless @editorMode
        for session in @sessions.models
          unless @levelStatusMap[session.get('levelID')] is 'complete'  # Don't overwrite a complete session with an incomplete one
            @levelStatusMap[session.get('levelID')] = if session.get('state')?.complete then 'complete' else 'started'
          @levelDifficultyMap[session.get('levelID')] = session.get('state').difficulty if session.get('state')?.difficulty

    @buildLevelScoreMap() unless @editorMode
    # HoC: Fake us up a "mode" for HeroVictoryModal to return hero without levels realizing they're in a copycat campaign, or clear it if we started playing.
