diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c
index 82f51628cacc7739db73c98c90b0fe8e3f11ee6c..7ca6c80c3afe2694612e31fa7aa918db1bb82e4a 100644
--- a/src/sbbs3/js_internal.c
+++ b/src/sbbs3/js_internal.c
@@ -1159,8 +1159,8 @@ js_handle_events(JSContext *cx, js_callback_t *cb, volatile int *terminated)
 					cfd++;
 #else
 					FD_SET(ev->data.connect.sv[0], &rfds);
-					if (ev->data.sock > hsock)
-						hsock = ev->data.sock;
+					if (ev->data.connect.sv[0] > hsock)
+						hsock = ev->data.connect.sv[0];
 #endif
 					break;
 				case JS_EVENT_INTERVAL:
diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c
index da77fa0ad3a89a77e0eac5d4fda221fcefc7a047..ad30e32f79a82ed4592ce845a4a7e31a8960dbda 100644
--- a/src/sbbs3/js_socket.c
+++ b/src/sbbs3/js_socket.c
@@ -976,7 +976,7 @@ js_connect_event(JSContext *cx, uintN argc, jsval *arglist, js_socket_private_t
 	ev->cb = ecb;
 	ev->data.connect.sv[0] = sv[0];
 	ev->data.connect.sv[1] = sv[1];
-	ev->data.sock = p->sock;
+	ev->data.connect.sock = p->sock;
 	ev->id = cb->next_eid++;
 	p->js_cb = cb;
 	cb->events = ev;