         }
         
         let entriesToDeleteRequest: NSFetchRequest<ReadingListEntry> = ReadingListEntry.fetchRequest()
-        entriesToDeleteRequest.predicate = NSPredicate(format: "list.name MATCHES[cd] %@ && !(key IN %@)", readingListName, keysToDelete)
+        entriesToDeleteRequest.predicate = NSPredicate(format: "list.name MATCHES[cd] %@ && !(articleKey IN %@)", readingListName, keysToDelete)
         
         let entriesToDelete = try moc.fetch(entriesToDeleteRequest)
         

        if moc.hasChanges {
            try moc.save()
        }
        
    }
    
}


    }
    
    public func remove(articles: [WMFArticle], fromReadingListNamed readingListName: String) throws {
        assert(Thread.isMainThread)
        
        let moc = dataStore.viewContext
        let existingReadingListRequest: NSFetchRequest<ReadingList> = ReadingList.fetchRequest()
