--- a/src/interface.c
+++ b/src/interface.c
@@ -244,8 +244,8 @@ struct net_device_stats {
 
 	for (if_ptr = if_list; if_ptr != NULL; if_ptr = if_ptr->ifa_next)
 	{
-		if (if_ptr->ifa_addr != NULL && if_ptr->ifa_addr->sa_family == AF_LINK) {
-			if_data = (struct IFA_DATA *) if_ptr->ifa_data;
+		if ((if_data = (struct IFA_DATA *) if_ptr->ifa_data) == NULL)
+			continue;
 
 			if_submit (if_ptr->ifa_name, "if_octets",
 				if_data->IFA_RX_BYTES,
@@ -256,7 +256,6 @@ struct net_device_stats {
 			if_submit (if_ptr->ifa_name, "if_errors",
 				if_data->IFA_RX_ERROR,
 				if_data->IFA_TX_ERROR);
-		}
 	}
 
 	freeifaddrs (if_list);
