diff --git a/homeassistant/components/sunweg/config_flow.py b/homeassistant/components/sunweg/config_flow.py
index 2b5e49c2cb975a8fe377c65be33e69e7f3939a33..24df8c02f55dae5574d660f05e9d18982e587477 100644
--- a/homeassistant/components/sunweg/config_flow.py
+++ b/homeassistant/components/sunweg/config_flow.py
@@ -124,12 +124,6 @@ class SunWEGConfigFlow(ConfigFlow, domain=DOMAIN):
         if conf_result is not None:
             return conf_result
 
-        entry = self.hass.config_entries.async_get_entry(self.context["entry_id"])
-        if entry is not None:
-            data: Mapping[str, Any] = self.data
-            self.hass.config_entries.async_update_entry(entry, data=data)
-            self.hass.async_create_task(
-                self.hass.config_entries.async_reload(entry.entry_id)
-            )
-
-        return self.async_abort(reason="reauth_successful")
+        return self.async_update_reload_and_abort(
+            self._get_reauth_entry(), data=self.data
+        )