diff --git a/homeassistant/components/deconz/__init__.py b/homeassistant/components/deconz/__init__.py
index cb4715f3c287bfbe722ab6b17cfefb034e29db35..4750c40fab281dbd3b2399543e6b71d498ce5d11 100644
--- a/homeassistant/components/deconz/__init__.py
+++ b/homeassistant/components/deconz/__init__.py
@@ -43,6 +43,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
     except AuthenticationRequired as err:
         raise ConfigEntryAuthFailed from err
 
+    if not hass.data[DOMAIN]:
+        async_setup_services(hass)
+
     gateway = hass.data[DOMAIN][config_entry.entry_id] = DeconzGateway(
         hass, config_entry, api
     )
@@ -53,9 +56,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
     await async_setup_events(gateway)
     await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS)
 
-    if len(hass.data[DOMAIN]) == 1:
-        async_setup_services(hass)
-
     api.start()
 
     config_entry.async_on_unload(