static void test_conn(void)
 {
-       int listen_fd = -1, cli_fd = -1, err;
+       int listen_fd = -1, cli_fd = -1, srv_fd = -1, err;
        socklen_t addrlen = sizeof(srv_sa6);
        int srv_port;
 
        if (CHECK_FAIL(cli_fd == -1))
                goto done;
 
+       srv_fd = accept(listen_fd, NULL, NULL);
+       if (CHECK_FAIL(srv_fd == -1))
+               goto done;
+
        if (CHECK(skel->bss->listen_tp_sport != srv_port ||
                  skel->bss->req_sk_sport != srv_port,
                  "Unexpected sk src port",
                close(listen_fd);
        if (cli_fd != -1)
                close(cli_fd);
+       if (srv_fd != -1)
+               close(srv_fd);
 }
 
 static void test_syncookie(void)
 {
-       int listen_fd = -1, cli_fd = -1, err;
+       int listen_fd = -1, cli_fd = -1, srv_fd = -1, err;
        socklen_t addrlen = sizeof(srv_sa6);
        int srv_port;
 
        if (CHECK_FAIL(cli_fd == -1))
                goto done;
 
+       srv_fd = accept(listen_fd, NULL, NULL);
+       if (CHECK_FAIL(srv_fd == -1))
+               goto done;
+
        if (CHECK(skel->bss->listen_tp_sport != srv_port,
                  "Unexpected tp src port",
                  "listen_tp_sport:%u expected:%u\n",
                close(listen_fd);
        if (cli_fd != -1)
                close(cli_fd);
+       if (srv_fd != -1)
+               close(srv_fd);
 }
 
 struct test {