diff --git a/src/sbbs3/js_socket.c b/src/sbbs3/js_socket.c
index 95be17004b32b6342453da3c6f0ebbf72016c804..70efee6226b1b1c56b3e49cecd5b4145dc9bc5a5 100644
--- a/src/sbbs3/js_socket.c
+++ b/src/sbbs3/js_socket.c
@@ -171,7 +171,8 @@ static ptrdiff_t js_socket_recv(js_socket_private_t *p, void *buf, size_t len, i
 			tv.tv_sec = timeout;
 			if(select(p->sock+1,&socket_set,NULL,NULL,&tv)==1)
 				ret = recv(p->sock, buf, len, flags);
-			ret = 0;
+			else
+				ret = 0;
 		}
 		else {
 			status = cryptPopData(p->session, buf, len, &copied);