diff --git a/src/backend.c b/src/backend.c
index 9b7e9e1..2d4ea4b 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1822,10 +1822,8 @@
 	 * sockets, socket pairs, andoccasionally TCP connections on the
 	 * loopback on a heavily loaded system.
 	 */
-	if (srv_conn->flags & CO_FL_ERROR) {
-		sc_ep_set(s->scb, SE_FL_ERROR);
+	if (srv_conn->flags & CO_FL_ERROR)
 		s->scb->flags |= SC_FL_ERROR;
-	}
 
 	/* If we had early data, and the handshake ended, then
 	 * we can remove the flag, and attempt to wake the task up,
@@ -2026,7 +2024,6 @@
 			/* Failed and not retryable. */
 			sc_abort(sc);
 			sc_shutdown(sc);
-			sc_ep_set(sc, SE_FL_ERROR|SE_FL_EOS);
 			sc->flags |= SC_FL_ERROR;
 
 			s->logs.t_queue = tv_ms_elapsed(&s->logs.tv_accept, &now);
@@ -2047,7 +2044,6 @@
 		 * allocation problem, so we want to retry now.
 		 */
 		sc->state = SC_ST_CER;
-		sc_ep_clr(sc, SE_FL_ERROR);
 		sc->flags &= ~SC_FL_ERROR;
 		back_handle_st_cer(s);
 
@@ -2188,7 +2184,6 @@
 
 			sc_abort(sc);
 			sc_shutdown(sc);
-			sc_ep_set(sc, SE_FL_ERROR|SE_FL_EOS);
 			sc->flags |= SC_FL_ERROR;
 			s->conn_err_type = STRM_ET_CONN_RES;
 			sc->state = SC_ST_CLO;
@@ -2215,7 +2210,6 @@
 		/* we did not get any server, let's check the cause */
 		sc_abort(sc);
 		sc_shutdown(sc);
-		sc_ep_set(sc, SE_FL_ERROR|SE_FL_EOS);
 		sc->flags |= SC_FL_ERROR;
 		if (!s->conn_err_type)
 			s->conn_err_type = STRM_ET_CONN_OTHER;
@@ -2350,7 +2344,6 @@
 
 		/* shutw is enough to stop a connecting socket */
 		sc_shutdown(sc);
-		sc_ep_set(sc, SE_FL_ERROR|SE_FL_EOS);
 		sc->flags |= SC_FL_ERROR;
 
 		sc->state = SC_ST_CLO;
@@ -2369,7 +2362,7 @@
 	 * layers in an unexpected state (i.e < ST_CONN).
 	 *
 	 * Note: the stream connector will be switched to ST_REQ, ST_ASS or
-	 * ST_TAR and SE_FL_ERROR and SF_CONN_EXP flags will be unset.
+	 * ST_TAR and SC_FL_ERROR and SF_CONN_EXP flags will be unset.
 	 */
 	if (sc_reset_endp(sc) < 0) {
 		if (!s->conn_err_type)
@@ -2384,7 +2377,6 @@
 
 		/* shutw is enough to stop a connecting socket */
 		sc_shutdown(sc);
-		sc_ep_set(sc, SE_FL_ERROR|SE_FL_EOS);
 		sc->flags |= SC_FL_ERROR;
 
 		sc->state = SC_ST_CLO;
diff --git a/src/stconn.c b/src/stconn.c
index 6b2397c..f4d54a7 100644
--- a/src/stconn.c
+++ b/src/stconn.c
@@ -1725,11 +1725,11 @@
 
 	/* First step, report to the stream connector what was detected at the
 	 * connection layer : errors and connection establishment.
-	 * Only add SE_FL_ERROR if we're connected, or we're attempting to
+	 * Only add SC_FL_ERROR if we're connected, or we're attempting to
 	 * connect, we may get there because we got woken up, but only run
 	 * after process_stream() noticed there were an error, and decided
 	 * to retry to connect, the connection may still have CO_FL_ERROR,
-	 * and we don't want to add SE_FL_ERROR back
+	 * and we don't want to add SC_FL_ERROR back
 	 *
 	 * Note: This test is only required because sc_conn_process is also the SI
 	 *       wake callback. Otherwise sc_conn_recv()/sc_conn_send() already take
@@ -1737,10 +1737,8 @@
 	 */
 
 	if (sc->state >= SC_ST_CON) {
-		if (sc_is_conn_error(sc)) {
-			sc_ep_set(sc, SE_FL_ERROR);
+		if (sc_is_conn_error(sc))
 			sc->flags |= SC_FL_ERROR;
-		}
 	}
 
 	/* If we had early data, and the handshake ended, then
diff --git a/src/stream.c b/src/stream.c
index 36af89f..238b49c 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -1805,11 +1805,9 @@
 	 *       must be be reviewed too.
 	 */
 	if (!stream_alloc_work_buffer(s)) {
-		sc_ep_set(s->scf, SE_FL_ERROR);
 		scf->flags |= SC_FL_ERROR;
 		s->conn_err_type = STRM_ET_CONN_RES;
 
-		sc_ep_set(s->scb, SE_FL_ERROR);
 		scb->flags |= SC_FL_ERROR;
 		s->conn_err_type = STRM_ET_CONN_RES;
 
