diff --git a/include/types/connection.h b/include/types/connection.h
index 27c839f..bcc2965 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -337,6 +337,7 @@
 	int (*avail_streams)(struct connection *conn); /* Returns the number of streams still available for a connection */
 	int (*max_streams)(struct connection *conn);   /* Returns the max number of streams available for that connection. */
 	void (*destroy)(struct connection *conn); /* Let the mux know one of its users left, so it may have to disappear */
+	void (*reset)(struct connection *conn); /* Reset the mux, because we're re-trying to connect */
 	const struct cs_info *(*get_cs_info)(struct conn_stream *cs); /* Return info on the specified conn_stream or NULL if not defined */
 	unsigned int flags;                           /* some flags characterizing the mux's capabilities (MX_FL_*) */
 	char name[8];                                 /* mux layer name, zero-terminated */
diff --git a/src/backend.c b/src/backend.c
index f494773..34a04c3 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1293,7 +1293,7 @@
 			return SF_ERR_INTERNAL;
 	}
 
-	if (!conn_xprt_ready(srv_conn)) {
+	if (!conn_xprt_ready(srv_conn) && !srv_conn->mux) {
 		/* the target was only on the stream, assign it to the SI now */
 		srv_conn->target = s->target;
 
@@ -1361,6 +1361,10 @@
 
 		assign_tproxy_address(s);
 	}
+	else if (!conn_xprt_ready(srv_conn)) {
+		if (srv_conn->mux->reset)
+			srv_conn->mux->reset(srv_conn);
+	}
 	else
 		s->flags |= SF_SRV_REUSED;
 
diff --git a/src/mux_h1.c b/src/mux_h1.c
index da5d5c1..5ca3c28 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -1824,6 +1824,13 @@
 	return NULL;
 }
 
+static void h1_reset(struct connection *conn)
+{
+	struct h1c *h1c = conn->mux_ctx;
+
+	/* Reset the flags, and let the mux know we're waiting for a connection */
+	h1c->flags = H1C_F_CS_WAIT_CONN;
+}
 
 static int h1_wake(struct connection *conn)
 {
@@ -2171,6 +2178,7 @@
 	.unsubscribe = h1_unsubscribe,
 	.shutr       = h1_shutr,
 	.shutw       = h1_shutw,
+	.reset       = h1_reset,
 	.flags       = MX_FL_NONE,
 	.name        = "h1",
 };
