 			caller.createTagging(feedID: feedID, name: folder.name ?? "") { [weak self] result in
 				switch result {
 				case .success(let taggingID):
-					self?.saveFolderRelationship(for: feed, withFolderName: folder.name ?? "", id: String(taggingID))
-					DispatchQueue.main.async {
+					DispatchQueue.main.async {
+						self?.saveFolderRelationship(for: feed, withFolderName: folder.name ?? "", id: String(taggingID))
 						folder.addFeed(feed)
 						completion(.success(()))
 					}

					guard let feed = account.idToFeedDictionary[taggingFeedID] else {
						continue
					}
					saveFolderRelationship(for: feed, withFolderName: folderName, id: String(tagging.taggingID))
					DispatchQueue.main.sync {
						folder.addFeed(feed)
					}
				}

	}
	
	func clearFolderRelationship(for feed: Feed, withFolderName folderName: String) {
		if var folderRelationship = feed.folderRelationship {
			folderRelationship[folderName] = nil
			feed.folderRelationship = folderRelationship
		}
	}
	
	func saveFolderRelationship(for feed: Feed, withFolderName folderName: String, id: String) {
		if var folderRelationship = feed.folderRelationship {
			folderRelationship[folderName] = id
			feed.folderRelationship = folderRelationship
		} else {
			feed.folderRelationship = [folderName: id]
		}
	}
	
