diff --git a/homeassistant/components/doorbird/config_flow.py b/homeassistant/components/doorbird/config_flow.py
index 4c62fab17ef7fd21938f3e68bddec4ceabb12fa9..01fcc2b2c229d8b6bdd49382b7d8467a7441e2d5 100644
--- a/homeassistant/components/doorbird/config_flow.py
+++ b/homeassistant/components/doorbird/config_flow.py
@@ -99,13 +99,15 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
             return self.async_abort(reason="not_doorbird_device")
         if is_link_local(ip_address(host)):
             return self.async_abort(reason="link_local_address")
-        if not await async_verify_supported_device(self.hass, host):
-            return self.async_abort(reason="not_doorbird_device")
 
         await self.async_set_unique_id(macaddress)
-
         self._abort_if_unique_id_configured(updates={CONF_HOST: host})
 
+        self._async_abort_entries_match({CONF_HOST: host})
+
+        if not await async_verify_supported_device(self.hass, host):
+            return self.async_abort(reason="not_doorbird_device")
+
         chop_ending = "._axis-video._tcp.local."
         friendly_hostname = discovery_info["name"]
         if friendly_hostname.endswith(chop_ending):