     @discardableResult func fetchOrCreateDefaultReadingList() -> ReadingList? {
         var defaultList = defaultReadingList
         if defaultList == nil { // failsafe
-            defaultList = wmf_fetch(objectForEntityName: "ReadingList", withValue: ReadingList.defaultListCanonicalName, forKey: "canonicalName") as? ReadingList
+            defaultList = wmf_fetchOrCreate(objectForEntityName: "ReadingList", withValue: ReadingList.defaultListCanonicalName, forKey: "canonicalName") as? ReadingList
             defaultList?.isDefault = true
             do {
                 try save()

        do {
            let moc = dataStore.viewContext
            try article.addToDefaultReadingList()
            if moc.hasChanges {
                try moc.save()
            }

        do {
            let moc = dataStore.viewContext
            unsave([article], in: moc)
            article.isSaved = false
            if moc.hasChanges {
                try moc.save()
            }
