diff --git a/src/host_utils.c b/src/host_utils.c
index 79d546188d977f3abeb46b15f5afc38177cedc69..5ec21ef365bd71e620bc480dbd793ce7cfa87c04 100644
--- a/src/host_utils.c
+++ b/src/host_utils.c
@@ -247,7 +247,13 @@ int host_get_netlink_ip(uint8_t *mac_addr, char *ipv4_str, char *device)
 		ipaddr = rtnl_neigh_get_dst(neigh);
 		if (ipaddr) {
 			ip.family = nl_addr_get_family(ipaddr);
-			if (ip.family == AF_INET6 || ip.family == AF_INET) {
+			if (ip.family == AF_INET6) {
+				nl_object_put((struct nl_object *) neigh);
+				nobj = nl_cache_get_next(nobj);
+				neigh = (struct rtnl_neigh *)nobj;
+				continue;
+			}
+			if (ip.family == AF_INET) {
 				memcpy(&ip.addr, nl_addr_get_binary_addr(ipaddr),
 				       nl_addr_get_len(ipaddr));
 			}