         # Check if we have, at some point, requested enough records with this this order and filter(s).
         if @storageManager.getCollectionDetails(@loadOptions.name).cache[cacheKey]
           subset = _(@storageManager.getCollectionDetails(@loadOptions.name).cache[cacheKey]).map (result) => @storageManager.storage(result.key).get(result.id)
-          if (_.all(subset, (model) => model.associationsAreLoaded(include)))
+          if (_.all(subset, (model) => model.associationsAreLoaded(@loadOptions.include)))
             @_success options, collection, subset
             return collection
 

    @loadOptions = $.extend {}, loadOptions
    @loadOptions.only = if @loadOptions.only then _.map((Brainstem.Utils.extractArray "only", @loadOptions), (id) -> String(id)) else null
    @loadOptions.filters ?= {}
  load: (loadOptions) ->
    @_parseLoadOptions(loadOptions)

    options = @loadOptions
    include = _(options.include).map((i) -> _.keys(i)[0]) # pull off the top layer of includes
    filterKeys = _.map(@loadOptions.filters, (v, k) -> "#{k}:#{v}").join(',')
    cacheKey = [@loadOptions.order || "updated_at:desc", filterKeys, options.page, options.perPage, options.limit, options.offset].join('|')


        else
          @_success options, collection, _(results).map (result) -> base.data.storage(result.key).get(result.id)

    syncOptions.data.include = @loadOptions.include.join(",") if @loadOptions.include.length
    syncOptions.data.only = _.difference(@loadOptions.only, alreadyLoadedIds).join(",") if @loadOptions.only?
    syncOptions.data.order = @loadOptions.order if @loadOptions.order?
    _.extend(syncOptions.data, _(@loadOptions.filters).omit('include', 'only', 'order', 'per_page', 'page', 'limit', 'offset', 'search')) if _(@loadOptions.filters).keys().length
