         @data.splice(index, 1)
         @callbacks?.destroy?.call(this, selector)
         @callbacks?.changed?.call(this, @data) unless options.batching
-
-      upstream.call(this, "destroy", {id: record.id})
+      else
+        upstream.call(this, "destroy", {id: record.id})
       record

      @data.push (fields)
      @callbacks?.create?.call(this, fields)
      @callbacks?.changed?.call(this, @data) unless options.batching

    upstream.call(this, "create", {fields: fields})
    fields

  # Update an existing record

        @callbacks?.update?.call(this, selector, fields, options)
        _.extend(record, fields)
        @callbacks?.changed?.call(this, @data) unless options.batching
      else
        upstream.call(this, "update", {id: record.id, fields: fields})
      record

  # Update an existing record or inserts a new one if there is no match
