diff --git a/include/proto/server.h b/include/proto/server.h
index 436ffb5..7aa09e4 100644
--- a/include/proto/server.h
+++ b/include/proto/server.h
@@ -233,13 +233,16 @@
 	return ret;
 }
 
+/* This adds an idle connection to the server's list if the connection is
+ * reusable, not held by any owner anymore, but still has available streams.
+ */
 static inline int srv_add_to_idle_list(struct server *srv, struct connection *conn)
 {
-	if (srv && srv->pool_purge_delay > 0 && (srv->max_idle_conns == -1 ||
-	    srv->max_idle_conns > srv->curr_idle_conns) &&
+	if (srv && srv->pool_purge_delay > 0 &&
+	    (srv->max_idle_conns == -1 || srv->max_idle_conns > srv->curr_idle_conns) &&
 	    !(conn->flags & CO_FL_PRIVATE) &&
 	    ((srv->proxy->options & PR_O_REUSE_MASK) != PR_O_REUSE_NEVR) &&
-	    conn->mux->avail_streams(conn) == conn->mux->max_streams(conn)) {
+	    !conn->mux->used_streams(conn) && conn->mux->avail_streams(conn)) {
 		LIST_DEL(&conn->list);
 		LIST_ADDQ(&srv->idle_orphan_conns[tid], &conn->list);
 		srv->curr_idle_conns++;
diff --git a/include/types/connection.h b/include/types/connection.h
index f11cfb5..96728b3 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -342,7 +342,7 @@
 	int (*subscribe)(struct conn_stream *cs, int event_type, void *param); /* Subscribe to events, such as "being able to send" */
 	int (*unsubscribe)(struct conn_stream *cs, int event_type, void *param); /* Unsubscribe to events */
 	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. */
+	int (*used_streams)(struct connection *conn);  /* Returns the number of streams in use on a 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 */
