diff --git a/sys/net/ieee8023ad_lacp.c b/sys/net/ieee8023ad_lacp.c
index 70de743..5060223 100644
--- a/sys/net/ieee8023ad_lacp.c
+++ b/sys/net/ieee8023ad_lacp.c
@@ -947,6 +947,7 @@ lacp_select_active_aggregator(struct lacp_softc *lsc)
 	struct lacp_aggregator *best_la = NULL;
 	uint64_t best_speed = 0;
 	char buf[LACP_LAGIDSTR_MAX+1];
+	u_char zero_mac[] = { 0, 0, 0, 0, 0, 0 };
 
 	LACP_TRACE(NULL);
 
@@ -957,6 +958,13 @@ lacp_select_active_aggregator(struct lacp_softc *lsc)
 			continue;
 		}
 
+		/*
+		 * Skip aggregators that has no partner.
+		 */
+		if (!memcmp(LACP_SYS_MAC(la->la_partner),
+		    zero_mac, sizeof(zero_mac)))
+			continue;
+
 		speed = lacp_aggregator_bandwidth(la);
 		LACP_DPRINTF((NULL, "%s, speed=%jd, nports=%d\n",
 		    lacp_format_lagid_aggregator(la, buf, sizeof(buf)),
diff --git a/sys/net/ieee8023ad_lacp.h b/sys/net/ieee8023ad_lacp.h
index 9481ce2..4076513 100644
--- a/sys/net/ieee8023ad_lacp.h
+++ b/sys/net/ieee8023ad_lacp.h
@@ -264,6 +264,7 @@ struct lacp_softc {
 	((((s1) ^ (s2)) & (mask)) == 0)
 
 #define	LACP_SYS_PRI(peer)	(peer).lip_systemid.lsi_prio
+#define LACP_SYS_MAC(peer)	(peer).lip_systemid.lsi_mac
 
 #define	LACP_PORT(_lp)	((struct lacp_port *)(_lp)->lp_psc)
 #define	LACP_SOFTC(_sc)	((struct lacp_softc *)(_sc)->sc_psc)
