diff --git a/homeassistant/config_entries.py b/homeassistant/config_entries.py index 2639c429e71..868175d34e4 100644 --- a/homeassistant/config_entries.py +++ b/homeassistant/config_entries.py @@ -3240,6 +3240,7 @@ class ConfigFlow(ConfigEntryBaseFlow): if data is not UNDEFINED: raise ValueError("Cannot set both data and data_updates") data = entry.data | data_updates + update_listener_exist = bool(entry.update_listeners) result = self.hass.config_entries.async_update_entry( entry=entry, unique_id=unique_id, @@ -3247,7 +3248,9 @@ class ConfigFlow(ConfigEntryBaseFlow): data=data, options=options, ) - if reload_even_if_entry_is_unchanged or result: + if reload_even_if_entry_is_unchanged or ( + update_listener_exist is False and result is True + ): self.hass.config_entries.async_schedule_reload(entry.entry_id) if reason is UNDEFINED: reason = "reauth_successful"