diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 61ecfa9c9c6b..12851dadcd4c 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -2619,6 +2619,7 @@ static struct sk_buff *manage_oob(struct sk_buff *skb, struct sock *sk,
 				}
 			} else if (!(flags & MSG_PEEK)) {
 				skb_unlink(skb, &sk->sk_receive_queue);
+				WRITE_ONCE(u->oob_skb, NULL);
 				consume_skb(skb);
 				skb = skb_peek(&sk->sk_receive_queue);
 			}