diff --git a/net/socket.c b/net/socket.c
index d2336472f4943bea9fb5547b6dc7b2d67a396334..379b3a3907551f50d42776664d0bc66aafcfa671 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2235,6 +2235,7 @@ int kernel_accept(struct socket *sock, struct socket **newsock, int flags)
 	err = sock->ops->accept(sock, *newsock, flags);
 	if (err < 0) {
 		sock_release(*newsock);
+		*newsock = NULL;
 		goto done;
 	}