diff --git a/gtests/net/packetdrill/run_packet.c b/gtests/net/packetdrill/run_packet.c
index 305acbb1a53dc5f33b98054bf2f528433d0d5b76..f03a4db237d3e3a5546df6404b4b3853d05f1704 100644
--- a/gtests/net/packetdrill/run_packet.c
+++ b/gtests/net/packetdrill/run_packet.c
@@ -278,7 +278,7 @@ static struct socket *handle_listen_for_script_packet(
 	if (!match)
 		return NULL;
 	
-	if (socket != NULL)
+	if (socket == NULL)
 		socket = setup_new_child_socket(state, packet);
 
 	if (packet->sctp != NULL) {