             else { return nil }
         
         // store newly loaded style
-        self.cachedSettingDictionaries[name] = style
+        self.propertyAccessQueue.sync {
+            self.cachedSettingDictionaries[name] = style
+        }
         
         return style
     }

        try super.restoreSetting(name: name)
        
        // update internal cache
        self.cachedSettingDictionaries[name] = self.bundledSettingDictionary(name: name)
        
        self.updateCache { [weak self] in
            self?.notifySettingUpdate(oldName: name, newName: name)

        }
        
        // load from cache
        if let style = self.propertyAccessQueue.sync(execute: { self.cachedSettingDictionaries[name] }) {
            return style
        }
        
