 		}
 		
 		group.notify(queue: DispatchQueue.main) {
-			completion(.success(()))
+			if errorOccurred {
+				completion(.failure(CloudKitZoneError.unknown))
+			} else {
+				completion(.success(()))
+			}
 		}
 	}
 	

		let updateableUnstarredArticleIDs = receivedUnstarredArticleIDs.subtracting(pendingStarredStatusArticleIDs)
		let updateableStarredArticleIDs = receivedStarredArticleIDs.subtracting(pendingStarredStatusArticleIDs)

		let group = DispatchGroup()
		
		group.enter()
		account?.markAsUnread(updateableUnreadArticleIDs) { _ in
			group.leave()
		}
		
		group.enter()
		account?.markAsRead(updateableReadArticleIDs) { _ in
			group.leave()
		}
		
		group.enter()
		account?.markAsUnstarred(updateableUnstarredArticleIDs) { _ in
			group.leave()
		}
		
		group.enter()
		account?.markAsStarred(updateableStarredArticleIDs) { _ in
			group.leave()
		}
		

					try? self.database.insertStatuses(syncStatuses)
					group.leave()
				case .failure(let databaseError):
					errorOccurred = true
					os_log(.error, log: self.log, "Error occurred while storing articles: %@", databaseError.localizedDescription)
					group.leave()
				}
