         XCTAssertTrue(mainContext.saveContextAndWait(nil))
 
         backgroundContext.performBlockAndWait() {
-            XCTAssertEqual(Author.allAuthorsInContext(backgroundContext).count, 0,
-            "Author object should have been removed here also.")
+            if let author = backgroundContext.objectWithID(authorID) as? Author {
+                if !author.deleted {
+                    XCTFail("Author object should have been removed here also.")
+                }
+            }
         }
     }
 

        XCTAssertTrue(mainContext.saveContextAndWait(nil))

        backgroundContext.performBlockAndWait() {
            if let author = Author.allAuthorsInContext(backgroundContext).first {
                XCTAssertNil(author.lastName,
                    "Last name shouldn't have been propegated from main queue")
            } else {

        let author = Author.newAuthorInContext(mainContext)
        author.firstName = "Bob"
        XCTAssertTrue(mainContext.saveContextAndWait(nil))
        let authorID = author.objectID

        let backgroundContext = stack.newBackgroundContext(shouldReceiveUpdates: false)
        backgroundContext.performBlockAndWait() {
            if let author = backgroundContext.objectWithID(authorID) as? Author {
                author.lastName = "Smith"
                XCTAssertTrue(backgroundContext.saveContextAndWait(nil))
            } else {
