             guard
                 self.view.window != nil,
                 let currentThemeName = self.theme?.name,
-                let themeName = ThemeManager.shared.equivalentSettingName(to: currentThemeName, forDark: self.view.effectiveAppearance.isDark),
-                currentThemeName != themeName
+                let themeName = ThemeManager.shared.equivalentSettingName(to: currentThemeName, forDark: self.view.effectiveAppearance.isDark)
                 else { return }
             
             self.setTheme(name: themeName)

        
        guard
            let oldName = notification.userInfo?[Notification.UserInfoKey.old] as? String,
            oldName == self.theme?.name else { return }
        
        let newName = (notification.userInfo?[Notification.UserInfoKey.new] as? String) ?? ThemeManager.shared.userDefaultSettingName(forDark: self.view.effectiveAppearance.isDark)
        
        self.setTheme(name: newName)
    }

        
        // observe defaults change
        self.defaultsObservers = [
            UserDefaults.standard.observe(key: .theme) { [unowned self] _ in
                let themeName = ThemeManager.shared.userDefaultSettingName(forDark: self.view.effectiveAppearance.isDark)
                self.setTheme(name: themeName)
            },
