diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index b0f705c2378f9ac683c526e7f12440eab7b40293..a7eb3f28db6c614cff6c1dff9043f62971c91e86 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1318,6 +1318,9 @@ static int arp_reduce(struct net_device *dev, struct sk_buff *skb)
 
 		neigh_release(n);
 
+		if (reply == NULL)
+			goto out;
+
 		skb_reset_mac_header(reply);
 		__skb_pull(reply, skb_network_offset(reply));
 		reply->ip_summed = CHECKSUM_UNNECESSARY;