diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 781d3bc64b71c4f42927a64e80d4ca9f3214b86a..72a673a43a75419afe0a0d60035af922fc60ab6f 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -74,7 +74,7 @@ static int ip6_finish_output2(struct net *net, struct sock *sk, struct sk_buff *
 
 			if (likely(nskb)) {
 				if (skb->sk)
-					skb_set_owner_w(skb, skb->sk);
+					skb_set_owner_w(nskb, skb->sk);
 				consume_skb(skb);
 			} else {
 				kfree_skb(skb);