 
 		}
 
-		group.notify(queue: DispatchQueue.main) {
+		group.notify(queue: DispatchQueue.main) { [weak self] in
+			guard let self = self else { return }
+			self.refreshProgress.completeTask()
 			os_log(.debug, log: self.log, "Done refreshing missing articles.")
 			completion()
 		}

				case .success(let entries):
				
					self?.processEntries(account: account, entries: entries) {
						self?.refreshProgress.completeTask()
						group.leave()
					}
					

		let group = DispatchGroup()
		
		let chunkedArticleIDs = articleIDs.chunked(into: 100)
		
		for chunk in chunkedArticleIDs {
			
