diff --git a/src/proto_uxst.c b/src/proto_uxst.c
index 5c8f9d4..27ff0fa 100644
--- a/src/proto_uxst.c
+++ b/src/proto_uxst.c
@@ -495,12 +495,12 @@
                 setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &global.tune.server_rcvbuf, sizeof(global.tune.server_rcvbuf));
 
 	if (connect(fd, (struct sockaddr *)&conn->addr.to, get_addr_len(&conn->addr.to)) == -1) {
-		if (errno == EALREADY || errno == EISCONN) {
-			conn->flags &= ~CO_FL_WAIT_L4_CONN;
-		}
-		else if (errno == EINPROGRESS) {
+		if (errno == EINPROGRESS || errno == EALREADY) {
 			conn->flags |= CO_FL_WAIT_L4_CONN;
 		}
+		else if (errno == EISCONN) {
+			conn->flags &= ~CO_FL_WAIT_L4_CONN;
+		}
 		else if (errno == EAGAIN || errno == EADDRINUSE || errno == EADDRNOTAVAIL) {
 			char *msg;
 			if (errno == EAGAIN || errno == EADDRNOTAVAIL) {
@@ -533,13 +533,9 @@
 	}
 	else {
 		/* connect() already succeeded, which is quite usual for unix
-		 * sockets. Let's avoid a second connect() probe to complete it,
-		 * but we need to ensure we'll wake up if there's no more handshake
-		 * pending (eg: for health checks).
+		 * sockets. Let's avoid a second connect() probe to complete it.
 		 */
 		conn->flags &= ~CO_FL_WAIT_L4_CONN;
-		if (!(conn->flags & CO_FL_HANDSHAKE))
-			data = 1;
 	}
 
 	conn->flags |= CO_FL_ADDR_TO_SET;
@@ -550,8 +546,6 @@
 
 	conn_ctrl_init(conn);       /* registers the FD */
 	fdtab[fd].linger_risk = 0;  /* no need to disable lingering */
-	if (conn->flags & CO_FL_HANDSHAKE)
-		conn_sock_want_send(conn);  /* for connect status or proxy protocol */
 
 	if (conn_xprt_init(conn) < 0) {
 		conn_force_close(conn);
@@ -559,6 +553,17 @@
 		return SF_ERR_RESOURCE;
 	}
 
+	if (conn->flags & (CO_FL_HANDSHAKE | CO_FL_WAIT_L4_CONN)) {
+		conn_sock_want_send(conn);  /* for connect status, proxy protocol or SSL */
+	}
+	else {
+		/* If there's no more handshake, we need to notify the data
+		 * layer when the connection is already OK otherwise we'll have
+		 * no other opportunity to do it later (eg: health checks).
+		 */
+		data = 1;
+	}
+
 	if (data)
 		conn_data_want_send(conn);  /* prepare to send data if any */
 
