                                 
                                 group.enter()
                                 self.apiController.removeEntry(withEntryID: entryID, fromListWithListID: readingListID, completion: { (error) in
-                                    if error == nil {
-                                        localEntriesToDelete.append(localEntry)
+                                    defer {
+                                        group.leave()
                                     }
-                                    group.leave()
+                                    guard error == nil else {
+                                        DDLogError("Error deleting entry withEntryID: \(entryID) fromListWithListID: \(readingListID) error: \(String(describing: error))")
+                                        return
+                                    }
+                                    localEntriesToDelete.append(localEntry)
                                 })
                             }
                         }

            fetchRequest.predicate = NSPredicate(format: "list == %@", readingList)
            fetchRequest.relationshipKeyPathsForPrefetching = ["article"]
            let results = try moc.fetch(fetchRequest)
            print("list: \(readingList) results: \(results)")
            
            taskGroup.waitInBackground {
                completion(nil)
            }

                        try moc.save()
                        
                    } catch let error {
                        DDLogError("Error during reading list sync: \(error)")
                    }
                    self.finish()
                })
