         try super.removeSetting(name: name)
         
         // update internal cache
-        self.cachedSettingDictionaries[name] = nil
+        self.propertyAccessQueue.sync {
+            self.cachedSettingDictionaries[name] = nil
+        }
         
         self.updateCache { [weak self] in
             self?.notifySettingUpdate(oldName: name, newName: BundledStyleName.none)

                }
                
                // cache style since it's already loaded
                self.cachedSettingDictionaries[styleName] = style
            }
        }
        self.map = map

        if self.isEqualToBundledSetting(settingDictionary, name: name) {
            if saveURL.isReachable {
                try FileManager.default.removeItem(at: saveURL)
                self.propertyAccessQueue.sync {
                    self.cachedSettingDictionaries[name] = nil
                }
            }
        } else {
            // save file to user domain
