diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index e72760c2448b3aed17c679b1e0c1632a39e8f70c..01c65c7447e1c8dd784534c872a36bfd0a7fe6bc 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -5102,7 +5102,7 @@ static void igb_receive_skb(struct igb_q_vector *q_vector,
 {
 	struct igb_adapter *adapter = q_vector->adapter;
 
-	if (vlan_tag)
+	if (vlan_tag && adapter->vlgrp)
 		vlan_gro_receive(&q_vector->napi, adapter->vlgrp,
 		                 vlan_tag, skb);
 	else