         @$('input').on 'typeahead:selected', (event, requestId) =>
             @hide()
             app.router.navigate "/request/#{ requestId }", { trigger: true }
-            
+
     reset: ->
         @$('input').val ''
         @$('ul').removeClass 'dropdown-menu-hidden'
         @$('li').remove()
 
     show: ->
-        @reset()
-        @$el.parent().addClass 'global-search-active'
-        @$('input').focus()
+        @requests.fetch().done =>
+            @reset()
+            @$el.parent().addClass 'global-search-active'
+            @$('input').focus()
 
     hide: (event) ->
         if event?


            @lastSearchQuery = query

            $.ajax
                url: "#{ config.apiRoot }/history/requests/search"
                data: requestIdLike: query

                success: (response) =>
                    @lastResponse = response
                    process response

        # Debounce event so we don't spam the server
        sourceFunction = _.debounce sourceFunction, 200

        @$('input').typeahead 
            highlight: true
        ,
            source: sourceFunction

            'click [data-action="close-global-seach"]': 'hide'

    initialize: ->
        @requests = new Requests [], {'all'}

        $(window).on 'keydown', (event) =>
            focusBody = $(event.target).is 'body'
            focusInput = $(event.target).is @$ 'input[type="search"]'
