diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c
index a0c2ae638fc3a333a8eecf02827b93376b9cba56..9f2dfdd38f551c2e36ffd2f241753c831df65be9 100644
--- a/src/sbbs3/js_socket.c
+++ b/src/sbbs3/js_socket.c
@@ -865,7 +865,7 @@ js_connect(JSContext *cx, uintN argc, jsval *arglist)
 			result = ERROR_VALUE;
 			if(result == EWOULDBLOCK || result == EINPROGRESS) {
 				result = ETIMEDOUT;
-				if (socket_readable(p->sock, timeout)) {
+				if (socket_writable(p->sock, timeout)) {
 					int so_error = -1;
 					socklen_t optlen = sizeof(so_error);
 					if(getsockopt(p->sock, SOL_SOCKET, SO_ERROR, (void*)&so_error, &optlen) == 0 && so_error == 0)
diff --git a/src/sbbs3/sockopts.c b/src/sbbs3/sockopts.c
index 1af7a7b9fa6cf3c766cf11b0a8ff5d484dc0fb84..f740476ed4282a4d277b77444c70068617f66141 100644
--- a/src/sbbs3/sockopts.c
+++ b/src/sbbs3/sockopts.c
@@ -58,8 +58,14 @@ int DLLCALL set_socket_options(scfg_t* cfg, SOCKET sock, const char* protocol, c
 
 	/* Set user defined socket options */
 	iniFileName(cfgfile,sizeof(cfgfile),cfg->ctrl_dir,"sockopts.ini");
-	if((fp=iniOpenFile(cfgfile,FALSE))==NULL)
+	if((fp=iniOpenFile(cfgfile,FALSE))==NULL) {
+#ifdef JSDOOR
+		int optval = 1;
+		// Set the only sane choice...
+		setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, (void *)&optval, sizeof(optval));
+#endif
 		return(0);
+	}
 	list=iniReadFile(fp);
 	fclose(fp);