diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c
index 63b4e9f5f5aafcb42d3eae9200337ceee0d0d401..ffe4caf27d3cc7d6fce4cfe614521001b37c460d 100644
--- a/gtests/net/packetdrill/run_system_call.c
+++ b/gtests/net/packetdrill/run_system_call.c
@@ -2030,6 +2030,7 @@ static int syscall_socket(struct state *state, struct syscall_spec *syscall,
 			  struct expression_list *args, char **error)
 {
 	int domain, type, protocol, live_fd, script_fd, result;
+
 	if (check_arg_count(args, 3, error))
 		return STATUS_ERR;
 	if (ellipsis_arg(args, 0, error))
@@ -2055,7 +2056,9 @@ static int syscall_socket(struct state *state, struct syscall_spec *syscall,
 		/* If IPv4-mapped IPv6 addresses are used, disable IPV6_V6ONLY */
 		if (state->config->socket_domain == AF_INET6 &&
 		    state->config->wire_protocol == AF_INET) {
-			setsockopt(live_fd, IPPROTO_IPV6, IPV6_V6ONLY, &off, sizeof(int));
+			if (setsockopt(live_fd, IPPROTO_IPV6, IPV6_V6ONLY, &off, sizeof(int)) < 0) {
+				die_perror("setsockopt IPV6_V6ONLY");
+			};
 		}
 		if (get_s32(syscall->result, &script_fd, error))
 			return STATUS_ERR;