diff --git a/app/templates/courses/teacher-courses-view.jade b/app/templates/courses/teacher-courses-view.jade
index 191a1cede..08b13f764 100644
--- a/app/templates/courses/teacher-courses-view.jade
+++ b/app/templates/courses/teacher-courses-view.jade
@@ -13,7 +13,7 @@ block content
       a(href="#manage-tab-pane" aria-controls="manage" role="tab" data-toggle="tab") Manage
     
   .tab-content
-    #courses-tab-pane.tab-pane.active.well
+    #courses-tab-pane.tab-pane.well
       h3 Your Courses
       - var courseInstances = view.courseInstances.sliceWithMembers();
       if !_.size(courseInstances)
@@ -29,7 +29,6 @@ block content
             th Size
             th
           for courseInstance in courseInstances
-            - console.log('course instance!', courseInstance)
             tr
               td
                 - var classroom = view.classrooms.get(courseInstance.get('classroomID'));
@@ -63,7 +62,7 @@ block content
           
         
       
-    #manage-tab-pane.tab-pane.well
+    #manage-tab-pane.tab-pane.well.active
 
       p Create a class and add students to it.
       
@@ -79,39 +78,40 @@ block content
         
         - var courseInstances = view.courseInstances.where({classroomID: classroom.id})
     
-        if classroom.saving
-          .progress
+        if classroom.saving || classroom.filling
+          .progress.progress-striped.active
             .progress-bar(style="width: 100%")
           
-        table.table
-          tr
-            th Student
-            for courseInstance in courseInstances
-              th
-                if courseInstance.course
-                | #{courseInstance.course.get('name')}
-            
-          if !_.size(classroom.get('members'))
+        else
+          table.table
             tr
-              td(colspan=1+view.courses.size())
-                em No students in this class yet.
-            
-          for member in classroom.get('members') || []
-            - var user = view.members.get(member);
-            if !user
-              - continue;
-            tr
-              td= user.get('name')
+              th Student
               for courseInstance in courseInstances
-                td
-                  if _.contains(courseInstance.get('members'), user.id)
-                    span.glyphicon.glyphicon-ok
-                  else
-                    input.course-instance-membership-checkbox(
-                      type='checkbox'
-                      data-course-instance-id=courseInstance.id
-                      data-user-id=user.id
-                    )
+                th
+                  if courseInstance.course
+                  | #{courseInstance.course.get('name')}
+              
+            if !_.size(classroom.get('members'))
+              tr
+                td(colspan=1+view.courses.size())
+                  em No students in this class yet.
+              
+            for member in classroom.get('members') || []
+              - var user = view.members.get(member);
+              if !user
+                - continue;
+              tr
+                td= user.get('name')
+                for courseInstance in courseInstances
+                  td
+                    if _.contains(courseInstance.get('members'), user.id)
+                      span.glyphicon.glyphicon-ok
+                    else
+                      input.course-instance-membership-checkbox(
+                        type='checkbox'
+                        data-course-instance-id=courseInstance.id
+                        data-user-id=user.id
+                      )
           
         button.add-students-btn.btn.btn-sm(data-classroom-id=classroom.id) Add Students
     
diff --git a/app/views/courses/TeacherCoursesView.coffee b/app/views/courses/TeacherCoursesView.coffee
index c6f62c3cc..5a20d69dc 100644
--- a/app/views/courses/TeacherCoursesView.coffee
+++ b/app/views/courses/TeacherCoursesView.coffee
@@ -42,7 +42,7 @@ module.exports = class TeacherCoursesView extends RootView
     @prepaids.totalRedeemers = -> sum((_.size(prepaid.get('redeemers')) for prepaid in @models)) or 0
     @prepaids.comparator = '_id'
     @supermodel.loadCollection(@prepaids, 'prepaids', {data: {creator: me.id}})
-    @listenTo @members, 'sync', @render
+    @listenTo @members, 'sync', @renderManageTab
     @usersToRedeem = new CocoCollection([], { model: User })
     @
 
@@ -60,10 +60,15 @@ module.exports = class TeacherCoursesView extends RootView
     classroom.save()
     @classrooms.add(classroom)
     classroom.saving = true
-    @render()
+    @renderManageTab()
     @listenTo classroom, 'sync', ->
       classroom.saving = false
-      @render()
+      @fillMissingCourseInstances()
+      
+  renderManageTab: ->
+    isActive = @$('#manage-tab-pane').hasClass('active')
+    @renderSelectors('#manage-tab-pane')
+    @$('#manage-tab-pane').toggleClass('active', isActive)
 
   onClickAddStudentsButton: (e) ->
     classroomID = $(e.target).data('classroom-id')
@@ -84,9 +89,11 @@ module.exports = class TeacherCoursesView extends RootView
     # TODO: Give teachers control over which courses are enabled for a given class.
     # Add/remove course instances and columns in the view to match.
     for classroom in @classrooms.models
+      classroom.filling = false
       for course in @courses.models
         courseInstance = @courseInstances.findWhere({classroomID: classroom.id, courseID: course.id})
         if not courseInstance
+          classroom.filling = true
           courseInstance = new CourseInstance({
             classroomID: classroom.id
             courseID: course.id
@@ -97,7 +104,9 @@ module.exports = class TeacherCoursesView extends RootView
           courseInstance.course = course
           @courseInstances.add(courseInstance)
           @listenToOnce courseInstance, 'sync', @fillMissingCourseInstances
+          @renderManageTab()
           return
+    @renderManageTab()
 
   onClickCourseInstanceMembershipCheckbox: ->
     usersToRedeem = {}