 			}
 		}
 		
+		// Mark articles as unstarred
+		let deltaUnstarredArticleIDs = currentStarredArticleIDs.subtracting(feedbinStarredArticleIDs)
+		let markUnstarredArticles = account.fetchArticles(forArticleIDs: deltaUnstarredArticleIDs)
+		DispatchQueue.main.async {
+			_ = account.update(markUnstarredArticles, statusKey: .starred, flag: false)
+		}
+		
+		// Save any unstarred statuses for articles we haven't yet received
+		let markUnstarredArticleIDs = Set(markUnstarredArticles.map { $0.articleID })
+		let missingUnstarredArticleIDs = deltaUnstarredArticleIDs.subtracting(markUnstarredArticleIDs)
+		if !missingUnstarredArticleIDs.isEmpty {
+			DispatchQueue.main.async {
+				account.ensureStatuses(missingUnstarredArticleIDs, .starred, false)
+			}
+		}
+		
 	}
 	
 }

		let markStarredArticles = account.fetchArticles(forArticleIDs: deltaStarredArticleIDs)
		DispatchQueue.main.async {
			_ = account.update(markStarredArticles, statusKey: .starred, flag: true)
		}
		
		// Mark articles as unstarred
		let deltaUnstarredArticleIDs = currentStarredArticleIDs.subtracting(feedbinStarredArticleIDs)
		let markUnstarredArticles = account.fetchArticles(forArticleIDs: deltaUnstarredArticleIDs)
		DispatchQueue.main.async {
			_ = account.update(markUnstarredArticles, statusKey: .starred, flag: false)
		}
		
		// Save any starred statuses for articles we haven't yet received

			_ = account.update(markUnreadArticles, statusKey: .read, flag: false)
		}
	
		// Save any unread statuses for articles we haven't yet received
		let markUnreadArticleIDs = Set(markUnreadArticles.map { $0.articleID })
		let missingUnreadArticleIDs = deltaUnreadArticleIDs.subtracting(markUnreadArticleIDs)
