diff --git a/main/tcptls.c b/main/tcptls.c
index 1930d61cf374e9effe85c3decd55f0ee55e206ee..dd2f5ea67181db795db2d59ff0e958e002d6c604 100644
--- a/main/tcptls.c
+++ b/main/tcptls.c
@@ -708,8 +708,9 @@ void *ast_tcptls_server_root(void *data)
 		}
 		fd = ast_accept(desc->accept_fd, &addr);
 		if (fd < 0) {
-			if ((errno != EAGAIN) && (errno != EINTR)) {
+			if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINTR) && (errno != ECONNABORTED)) {
 				ast_log(LOG_ERROR, "Accept failed: %s\n", strerror(errno));
+				break;
 			}
 			continue;
 		}