diff --git a/src/manager.c b/src/manager.c
index d828c22..4607710 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -105,8 +105,11 @@
 	} else if (!strncmp(pattern, "hci", 3) && strlen(pattern) >= 4) {
 		dev_id = atoi(pattern + 3);
 		adapter = manager_find_adapter_by_id(dev_id);
-	} else
-		adapter = manager_find_adapter_by_address(pattern);
+	} else {
+		bdaddr_t bdaddr;
+		str2ba(pattern, &bdaddr);
+		adapter = manager_find_adapter(&bdaddr);
+	}
 
 	if (!adapter)
 		return btd_error_no_such_adapter(msg);
@@ -322,19 +325,6 @@
 	return bacmp(&src, bdaddr);
 }
 
-static gint adapter_address_cmp(gconstpointer a, gconstpointer b)
-{
-	struct btd_adapter *adapter = (struct btd_adapter *) a;
-	const char *address = b;
-	bdaddr_t bdaddr;
-	char addr[18];
-
-	adapter_get_address(adapter, &bdaddr);
-	ba2str(&bdaddr, addr);
-
-	return strcasecmp(addr, address);
-}
-
 struct btd_adapter *manager_find_adapter(const bdaddr_t *sba)
 {
 	GSList *match;
@@ -346,17 +336,6 @@
 	return match->data;
 }
 
-struct btd_adapter *manager_find_adapter_by_address(const char *address)
-{
-	GSList *match;
-
-	match = g_slist_find_custom(adapters, address, adapter_address_cmp);
-	if (!match)
-		return NULL;
-
-	return match->data;
-}
-
 struct btd_adapter *manager_find_adapter_by_path(const char *path)
 {
 	GSList *match;
diff --git a/src/manager.h b/src/manager.h
index 495c2c9..d101b70 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -34,7 +34,6 @@
 
 const char *manager_get_base_path(void);
 struct btd_adapter *manager_find_adapter(const bdaddr_t *sba);
-struct btd_adapter *manager_find_adapter_by_address(const char *address);
 struct btd_adapter *manager_find_adapter_by_path(const char *path);
 struct btd_adapter *manager_find_adapter_by_id(int id);
 void manager_foreach_adapter(adapter_cb func, gpointer user_data);
