diff --git a/homeassistant/components/zha/__init__.py b/homeassistant/components/zha/__init__.py
index 216261e3011..fc573b19ab1 100644
--- a/homeassistant/components/zha/__init__.py
+++ b/homeassistant/components/zha/__init__.py
@@ -117,6 +117,8 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
     ha_zha_data.config_entry = config_entry
     zha_lib_data: ZHAData = create_zha_config(hass, ha_zha_data)
 
+    zha_gateway = await Gateway.async_from_config(zha_lib_data)
+
     # Load and cache device trigger information early
     device_registry = dr.async_get(hass)
     radio_mgr = ZhaRadioManager.from_config_entry(hass, config_entry)
@@ -140,7 +142,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
     _LOGGER.debug("Trigger cache: %s", zha_lib_data.device_trigger_cache)
 
     try:
-        zha_gateway = await Gateway.async_from_config(zha_lib_data)
+        await zha_gateway.async_initialize()
     except NetworkSettingsInconsistent as exc:
         await warn_on_inconsistent_network_settings(
             hass,
diff --git a/homeassistant/components/zha/manifest.json b/homeassistant/components/zha/manifest.json
index d2d328cc84b..6e35339c53f 100644
--- a/homeassistant/components/zha/manifest.json
+++ b/homeassistant/components/zha/manifest.json
@@ -21,7 +21,7 @@
     "zha",
     "universal_silabs_flasher"
   ],
-  "requirements": ["universal-silabs-flasher==0.0.22", "zha==0.0.24"],
+  "requirements": ["universal-silabs-flasher==0.0.22", "zha==0.0.25"],
   "usb": [
     {
       "vid": "10C4",
diff --git a/requirements_all.txt b/requirements_all.txt
index 1df7cc12072..602c03c879d 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -2989,7 +2989,7 @@ zeroconf==0.132.2
 zeversolar==0.3.1
 
 # homeassistant.components.zha
-zha==0.0.24
+zha==0.0.25
 
 # homeassistant.components.zhong_hong
 zhong-hong-hvac==1.0.12
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index 5831f7c23cf..623f0953721 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -2363,7 +2363,7 @@ zeroconf==0.132.2
 zeversolar==0.3.1
 
 # homeassistant.components.zha
-zha==0.0.24
+zha==0.0.25
 
 # homeassistant.components.zwave_js
 zwave-js-server-python==0.57.0
diff --git a/tests/components/zha/test_repairs.py b/tests/components/zha/test_repairs.py
index 7f9b2b4a016..c2925161748 100644
--- a/tests/components/zha/test_repairs.py
+++ b/tests/components/zha/test_repairs.py
@@ -148,7 +148,7 @@ async def test_multipan_firmware_repair(
             autospec=True,
         ),
         patch(
-            "homeassistant.components.zha.Gateway.async_from_config",
+            "homeassistant.components.zha.Gateway.async_initialize",
             side_effect=RuntimeError(),
         ),
         patch(
@@ -199,7 +199,7 @@ async def test_multipan_firmware_no_repair_on_probe_failure(
             autospec=True,
         ),
         patch(
-            "homeassistant.components.zha.Gateway.async_from_config",
+            "homeassistant.components.zha.Gateway.async_initialize",
             side_effect=RuntimeError(),
         ),
     ):
@@ -236,7 +236,7 @@ async def test_multipan_firmware_retry_on_probe_ezsp(
             autospec=True,
         ),
         patch(
-            "homeassistant.components.zha.Gateway.async_from_config",
+            "homeassistant.components.zha.Gateway.async_initialize",
             side_effect=RuntimeError(),
         ),
     ):
@@ -311,7 +311,7 @@ async def test_inconsistent_settings_keep_new(
     old_state = network_backup
 
     with patch(
-        "homeassistant.components.zha.Gateway.async_from_config",
+        "homeassistant.components.zha.Gateway.async_initialize",
         side_effect=NetworkSettingsInconsistent(
             message="Network settings are inconsistent",
             new_state=new_state,
@@ -390,7 +390,7 @@ async def test_inconsistent_settings_restore_old(
     old_state = network_backup
 
     with patch(
-        "homeassistant.components.zha.Gateway.async_from_config",
+        "homeassistant.components.zha.Gateway.async_initialize",
         side_effect=NetworkSettingsInconsistent(
             message="Network settings are inconsistent",
             new_state=new_state,