diff --git a/net/dccp/minisocks.c b/net/dccp/minisocks.c
index 53eddf99e4f6eb7f40f4a69359956e0d25803add..d20d948a98ed3c32f61e7b265fe21a459cbd016e 100644
--- a/net/dccp/minisocks.c
+++ b/net/dccp/minisocks.c
@@ -122,6 +122,7 @@ struct sock *dccp_create_openreq_child(const struct sock *sk,
 			/* It is still raw copy of parent, so invalidate
 			 * destructor and make plain sk_free() */
 			newsk->sk_destruct = NULL;
+			bh_unlock_sock(newsk);
 			sk_free(newsk);
 			return NULL;
 		}