diff --git a/src/ieee1905/topologyd.c b/src/ieee1905/topologyd.c
index 94f57028620e8acbf835b9253cfdc9a59d9ebc25..8ab7e7e754afab47218a7b3e6280a259824ba6ab 100644
--- a/src/ieee1905/topologyd.c
+++ b/src/ieee1905/topologyd.c
@@ -242,6 +242,7 @@ int topology_update_devinfo(struct topologyd_private *priv, struct node *n, stru
 	dbg("%s %d interface nr = %d\n", __func__, __LINE__, devinfo->num_interface);
 	for (j = 0; j < devinfo->num_interface; j++) {
 		struct local_interface *tif;
+		int ret = 0;
 
 		ptr += offset;
 		tif = (struct local_interface *)ptr;
@@ -252,10 +253,11 @@ int topology_update_devinfo(struct topologyd_private *priv, struct node *n, stru
 		memcpy(n->node_intf[j].interface_id, &tif->macaddr, 6);
 		dbg("|%s:%d| Entry"MACFMT"\n", __func__, __LINE__, MAC2STR(n->node_intf[j].interface_id));
 
-		if (host_is_in_assoclist(priv, tif->macaddr))
+		ret = memcmp(tif->macaddr, node->link_hwaddr, 6);
+		dbg("|%s:%d| alnode link_hwaddr "MACFMT"\n", __func__, __LINE__, MAC2STR(node->link_hwaddr));
+		if (host_is_in_assoclist(priv, tif->macaddr) && !ret)
 			is_wifi = true;
 
-
 		/* Here we check so that the host can fill the media type for
 		 * ieee1905 node also the interface node can be hidden
 		 */