         .then (response) =>
           @gradebookContent.customColumns.push(response.data)
           teacherNotesColumn = @buildCustomColumn(response.data)
-          @customColumns[teacherNotesColumn.id] = teacherNotesColumn
+          @gradebookGrid.columns.definitions[teacherNotesColumn.id] = teacherNotesColumn
           @showNotesColumn()
           @setTeacherNotesColumnUpdating(false)
           @renderViewOptionsMenu()

      columnsToReplace = @grid.getOptions().numberOfColumnsToFreeze
      callback()
      cols = @grid.getColumns()
      customColumns = @listVisibleCustomColumns().map((column) => @customColumns[@getCustomColumnId(column.id)])
      cols.splice 0, columnsToReplace,
        @parentColumns..., customColumns...
      @grid.setColumns(cols)

    initGrid: =>
      @updateFilteredContentInfo()

      studentColumn = @buildStudentColumn()
      @parentColumns.push(studentColumn)
      @gradebookGrid.columns.definitions[studentColumn.id] = studentColumn

      for id, assignment of @assignments
        assignmentColumn = @buildAssignmentColumn(assignment)
        @allAssignmentColumns.push(assignmentColumn)
        @gradebookGrid.columns.definitions[assignmentColumn.id] = assignmentColumn

      for id, assignmentGroup of @assignmentGroups
        assignmentGroupColumn = @buildAssignmentGroupColumn(assignmentGroup)
        @aggregateColumns.push(assignmentGroupColumn)
        @gradebookGrid.columns.definitions[assignmentGroupColumn.id] = assignmentGroupColumn

      totalGradeColumn = @buildTotalGradeColumn()
      @aggregateColumns.push(totalGradeColumn)
      @gradebookGrid.columns.definitions[totalGradeColumn.id] = totalGradeColumn

      @renderGridColor()
      @createGrid()
