     private let BlacklistedLanguagesKey = "WMFWikidataDescriptionEditingBlacklistedLanguagesKey"
     private var blacklistedLanguages: NSSet {
         assert(Thread.isMainThread)
+        semaphore.wait()
+        defer {
+            semaphore.signal()
+        }
         let fallback = NSSet(set: ["en"])
         guard
             let viewContext = viewContext,


@objc public final class WikidataDescriptionEditingController: NSObject {
    weak var viewContext: NSManagedObjectContext?

    @objc public init(with viewContext: NSManagedObjectContext) {
        self.viewContext = viewContext

    @objc public func setBlacklistedLanguages(_ blacklistedLanguagesFromRemoteConfig: Array<String>) {
        assert(Thread.isMainThread)
        assert(viewContext != nil)
        semaphore.wait()
        defer {
            semaphore.signal()
        }
        let blacklistedLanguages = NSSet(array: blacklistedLanguagesFromRemoteConfig)
        viewContext?.wmf_setValue(blacklistedLanguages, forKey: BlacklistedLanguagesKey)
    }
