   changeSort: (e) =>
     e.preventDefault()
 
-    @setState sortField: if @state.sortField == 'updated_at'
-                           if @props.mode == 'timeline' then 'timeline' else 'created_at'
-                         else
-                           'updated_at'
+    sort = {}
+    sort[@props.mode] = if @currentSort() == 'updated_at'
+                          if @props.mode == 'timeline' then 'timeline' else 'created_at'
+                        else
+                          'updated_at'
+
+    @setState sort: _.assign({}, @state.sort, sort)
+
+
+  currentSort: =>
+    @state.sort[@props.mode]
 
 
   expand: (e) =>

    super props

    @state =
      sortField: if @props.mode == 'timeline' then 'timeline' else 'created_at'


  componentWillReceiveProps: (nextProps) =>
    if _.includes(['created_at', 'timeline'], @state.sortField)
      if nextProps.mode == 'timeline'
        @setState sortField: 'timeline'
      else
        @setState sortField: 'created_at'


  render: =>

              onClick: @changeSort
              span className: "#{bn}__toolbar-link-content", osu.trans('beatmaps.discussions.sort._')
              el Icon,
                name: sortPresets[@currentSort()].icon
                parentClass: "#{bn}__toolbar-link-content"
              span className: "#{bn}__toolbar-link-content", sortPresets[@currentSort()].text

            a
              href: '#'
