     @error "Unable to create reading for this book"
 
   _onGetHighlightsSuccess: (highlights) =>
-    annotations = jQuery.map highlights, jQuery.proxy(this, "_annotationFromHighlight")
+    deferreds = jQuery.map highlights, jQuery.proxy(this, "_annotationFromHighlight")
 
     # Filter out unparsable annotations.
-    annotations = jQuery.grep annotations, (ann) -> !!ann
-    @annotator.loadAnnotations annotations 
+    deferreds = jQuery.grep deferreds, (def) -> !!def
+    jQuery.when.apply(jQuery, deferreds).done =>
+      annotations = jQuery.makeArray(arguments)
+      @annotator.loadAnnotations annotations
 
   _onGetHighlightsError: => @error "Unable to fetch highlights for reading"
 

    if @client.isAuthorized() and @book.id
      url = @book.reading.highlights

      # Need a txt string here rather than an object here for some reason.
      comment = @_commentFromAnnotation(annotation).content
      highlight = @_highlightFromAnnotation annotation


      highlighted_at: undefined
    }

  _commentFromAnnotation: (annotation) ->
    # Documentation seems to indicate this should be wrapped in an object
    # with a "content" property but that does not seem to work with the
