     else if key < 0 then @model().length - 1
     else key
 
+  _select: (key) ->
+    key = @_fixKeyModulo(key)
+    @setState selectedModelKey: key
+    @refs[key].scrollIntoView()
+
   moveSelectionUp: ->
-    prevKey = if @state.selectedModelKey? then @state.selectedModelKey-1 else -1
-    @setState selectedModelKey: @_fixKeyModulo(prevKey)
-    # @scrollToCurrent()
+    @_select if @state.selectedModelKey? then @state.selectedModelKey-1 else -1
 
   moveSelectionDown: ->
-    nextKey = if @state.selectedModelKey? then @state.selectedModelKey+1 else 0
-    @setState selectedModelKey: @_fixKeyModulo(nextKey)
-    # @scrollToCurrent()
+    @_select if @state.selectedModelKey? then @state.selectedModelKey+1 else 0
 
 class window.AutoCompleteFactsView extends Backbone.Marionette.Layout
   className: "auto-complete"

      model: fact
      query: @model().query
      selected: key == @state.selectedModelKey
      onMouseEnter: => @setState selectedModelKey: key
      onMouseLeave: => @setState selectedModelKey: null
      onClick: => @setState selectedModelKey: key; @props.onSelect?()

  displayName: 'ReactAutoCompleteSearchFactView'

  scrollIntoView: ->
    $el = $(@getDOMNode())
    scrollIntoViewWithinContainer $el, $el.parents('.auto-complete-search-list')

  render: ->
