diff --git a/src/backend.c b/src/backend.c
index a887eb2..5a8bc0e 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1577,6 +1577,7 @@
 					srv_conn = NULL;
 					if (cs_reset_endp(s->csb) < 0)
 						return SF_ERR_INTERNAL;
+					s->csb->endp->flags &= CS_EP_DETACHED;
 				}
 			}
 			else
diff --git a/src/check.c b/src/check.c
index 2db82c4..d65850d 100644
--- a/src/check.c
+++ b/src/check.c
@@ -1164,7 +1164,12 @@
 				TRACE_DEVEL("closing current connection", CHK_EV_TASK_WAKE|CHK_EV_HCHK_RUN, check);
 				check->state &= ~CHK_ST_CLOSE_CONN;
 				conn = NULL;
-				cs_reset_endp(check->cs); /* error will be handled by tcpcheck_main() */
+				if (!cs_reset_endp(check->cs)) {
+					/* error will be handled by tcpcheck_main().
+					 * On success, remove all flags except CS_EP_DETACHED
+					 */
+					check->cs->endp->flags &= CS_EP_DETACHED;
+				}
 				tcpcheck_main(check);
 			}
 			if (check->result == CHK_RES_UNKNOWN) {
diff --git a/src/cli.c b/src/cli.c
index 081d28c..b32b8b1 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -2761,6 +2761,7 @@
 					s->srv_error(s, s->csb);
 				return 1;
 			}
+			s->csb->endp->flags &= CS_EP_DETACHED;
 		}
 
 		sockaddr_free(&s->csb->dst);
diff --git a/src/conn_stream.c b/src/conn_stream.c
index fda8ab4..5f1508d 100644
--- a/src/conn_stream.c
+++ b/src/conn_stream.c
@@ -392,7 +392,8 @@
 
 	if (cs->endp) {
 		/* the cs is the only one one the endpoint */
-		cs_endpoint_init(cs->endp);
+		cs->endp->target = NULL;
+		cs->endp->ctx = NULL;
 		cs->endp->flags |= CS_EP_DETACHED;
 	}
 
@@ -442,12 +443,17 @@
 /* Resets the conn-stream endpoint. It happens when the app layer want to renew
  * its endpoint. For a connection retry for instance. If a mux or an applet is
  * attached, a new endpoint is created. Returns -1 on error and 0 on sucess.
+ *
+ * Only CS_EP_ERROR flag is removed on the endpoint. Orther flags are preserved.
+ * It is the caller responsibility to remove other flags if needed.
  */
 int cs_reset_endp(struct conn_stream *cs)
 {
 	struct cs_endpoint *new_endp;
 
 	BUG_ON(!cs->app);
+
+	cs->endp->flags &= ~CS_EP_ERROR;
 	if (!__cs_endp_target(cs)) {
 		/* endpoint not attached or attached to a mux with no
 		 * target. Thus the endpoint will not be release but just
@@ -465,6 +471,7 @@
 		cs->endp->flags |= CS_EP_ERROR;
 		return -1;
 	}
+	new_endp->flags = cs->endp->flags;
 
 	/* The app is still attached, the cs will not be released */
 	cs_detach_endp(&cs);
diff --git a/src/http_ana.c b/src/http_ana.c
index 7a987a5..a81c53d 100644
--- a/src/http_ana.c
+++ b/src/http_ana.c
@@ -1246,7 +1246,6 @@
 	req->flags &= ~(CF_WRITE_ERROR | CF_WRITE_TIMEOUT | CF_SHUTW | CF_SHUTW_NOW);
 	res->flags &= ~(CF_READ_ERROR | CF_READ_TIMEOUT | CF_SHUTR | CF_EOI | CF_READ_NULL | CF_SHUTR_NOW);
 	res->analysers &= AN_RES_FLT_END;
-	cs->endp->flags &= ~CS_EP_RXBLK_SHUT;
 	s->conn_err_type = STRM_ET_NONE;
 	s->flags &= ~(SF_CONN_EXP | SF_ERR_MASK | SF_FINST_MASK);
 	s->conn_exp = TICK_ETERNITY;
@@ -1261,6 +1260,7 @@
 			s->flags |= SF_ERR_INTERNAL;
 		return -1;
 	}
+	cs->endp->flags &= ~CS_EP_RXBLK_SHUT;
 
 	b_free(&req->buf);
 	/* Swap the L7 buffer with the channel buffer */
