   fetch: (options = {}) ->
     @oldestTimestamp = @donePaginating = null if options.reset
     options.data = _.extend({}, @data, options.data || {})
+    # Only report success if response is modified
+    options.ifModified = true
 
     # API uses If-Modified-Since to determine which notifications to fetch. We
     # want all of them if the collection is currently empty.
-    if @isEmpty()
+    unless @oldestTimestamp
       options.beforeSend = (xhr) =>
         xhr.setRequestHeader('If-Modified-Since', '')
 

    @filter = options.filter if options.filter
    @data = options.data || {}
    @on 'reset', -> @select(undefined)

  # Default filter accepts all models
  filter: (model) -> true

    model if @filter(model)

  # Internal: Save the poll interval returned from the API
  savePollInterval: (collection, _, options) ->
    if interval = options.xhr.getResponseHeader('X-Poll-Interval')
      @pollInterval = Number(interval) * 1000
