diff --git a/src/syncterm/conn.c b/src/syncterm/conn.c
index 13598edf20c7d3be853861ddee003497759a78ba..169ed8541fcb87f26828512334d6a7f4519a2f64 100644
--- a/src/syncterm/conn.c
+++ b/src/syncterm/conn.c
@@ -518,6 +518,13 @@ int conn_socket_connect(struct bbslist *bbs)
 								goto connected;
 							}
 						}
+						else {
+							if (kbhit()) {
+								failcode = FAILURE_ABORTED;
+								closesocket(sock);
+								sock = INVALID_SOCKET;
+							}
+						}
 					}
 
 connected: