diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index 1886cd40a3f6f44d6f63df50c44465415f0a6e45..c0e3cb72ad70ad211f4801e13c5e207dc48318e3 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -686,6 +686,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
 				tunnel->err_time + IPTUNNEL_ERR_TIMEO)) {
 			tunnel->err_count--;
 
+			memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
 			dst_link_failure(skb);
 		} else
 			tunnel->err_count = 0;