                 self.deleted.appendContentsOf(deleted)
             }
             
-            self.handleResultWithError(error) {
+            self.handleResult(withCursor: nil, error: error, inDatabase: db) {
                 self.save(records: records, inDatabase: db)
             }
         }

                self.deleted.appendContentsOf(deleted)
            }

            self.handleResultWithError(error) {
                self.delete(record: record, inDatabase: db)
            }
        }

            Logging.log("Completion: \(cursor) - \(error)")
            Logging.log("Have \(self.records.count) records")
            
            let usedCursor = pullAll ? cursor : nil
            
            self.handleResult(withCursor: usedCursor, limit: limit, error: error, inDatabase: db, retryClosure: retryClosure)
        }
        
        database(db).addOperation(fetchOperation)
    }
}