diff --git a/include/proto/connection.h b/include/proto/connection.h
index 2118d23..65c99a1 100644
--- a/include/proto/connection.h
+++ b/include/proto/connection.h
@@ -318,7 +318,7 @@
 	conn->target = NULL;
 	conn->destroy_cb = NULL;
 	conn->proxy_netns = NULL;
-	LIST_INIT(&conn->list);
+	MT_LIST_INIT(&conn->list);
 	LIST_INIT(&conn->session_list);
 	conn->subs = NULL;
 	conn->idle_time = 0;
diff --git a/include/proto/server.h b/include/proto/server.h
index 06f553e..ca794ab 100644
--- a/include/proto/server.h
+++ b/include/proto/server.h
@@ -261,7 +261,7 @@
 			_HA_ATOMIC_SUB(&srv->curr_idle_conns, 1);
 			return 0;
 		}
-		LIST_DEL_INIT(&conn->list);
+		MT_LIST_DEL(&conn->list);
 		MT_LIST_ADDQ(is_safe ? &srv->safe_conns[tid] : &srv->idle_conns[tid],
 		             (struct mt_list *)&conn->list);
 		srv->curr_idle_thr[tid]++;
diff --git a/include/types/connection.h b/include/types/connection.h
index 0136be9..32a8590 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -458,7 +458,7 @@
 
 	/* second cache line */
 	struct wait_event *subs; /* Task to wake when awaited events are ready */
-	struct list list;             /* attach point to various connection lists (idle, ...) */
+	struct mt_list list;          /* attach point to various connection lists (idle, ...) */
 	struct list session_list;     /* List of attached connections to a session */
 	union conn_handle handle;     /* connection handle at the socket layer */
 	const struct netns_entry *proxy_netns;
diff --git a/src/backend.c b/src/backend.c
index 2fc7a3f..b60e900 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1251,7 +1251,7 @@
 			_HA_ATOMIC_SUB(&srv->curr_idle_conns, 1);
 			__ha_barrier_atomic_store();
 			srv->curr_idle_thr[tid]--;
-			LIST_ADDQ(&srv->available_conns[tid], &srv_conn->list);
+			LIST_ADDQ(&srv->available_conns[tid], mt_list_to_list(&srv_conn->list));
 		}
 		else {
 			if (srv_conn->flags & CO_FL_SESS_IDLE) {
@@ -1269,8 +1269,7 @@
 
 			if (avail <= 1) {
 				/* No more streams available, remove it from the list */
-				LIST_DEL(&srv_conn->list);
-				LIST_INIT(&srv_conn->list);
+				MT_LIST_DEL(&srv_conn->list);
 			}
 
 			if (avail >= 1) {
@@ -1404,7 +1403,7 @@
 		 */
 		if (srv && ((s->be->options & PR_O_REUSE_MASK) == PR_O_REUSE_ALWS) &&
 		    srv_conn->mux->avail_streams(srv_conn) > 0)
-			LIST_ADD(&srv->available_conns[tid], &srv_conn->list);
+			LIST_ADDQ(&srv->available_conns[tid], mt_list_to_list(&srv_conn->list));
 	}
 	/* The CO_FL_SEND_PROXY flag may have been set by the connect method,
 	 * if so, add our handshake pseudo-XPRT now.
diff --git a/src/connection.c b/src/connection.c
index 55b7031..45d81d8 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -55,7 +55,7 @@
 		srv = objt_server(conn->target);
 		if (srv && ((srv->proxy->options & PR_O_REUSE_MASK) != PR_O_REUSE_NEVR) &&
 		    conn->mux->avail_streams(conn) > 0)
-			LIST_ADD(&srv->available_conns[tid], &conn->list);
+			LIST_ADDQ(&srv->available_conns[tid], mt_list_to_list(&conn->list));
 		return 0;
 fail:
 		/* let the upper layer know the connection failed */
diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c
index 3082d4b..904ce85 100644
--- a/src/mux_fcgi.c
+++ b/src/mux_fcgi.c
@@ -3507,9 +3507,9 @@
 				TRACE_DEVEL("reusable idle connection", FCGI_EV_STRM_END, fconn->conn);
 				return;
 			}
-		} else if (LIST_ISEMPTY(&fconn->conn->list) &&
+		} else if (MT_LIST_ISEMPTY(&fconn->conn->list) &&
 			   fcgi_avail_streams(fconn->conn) > 0 && objt_server(fconn->conn->target)) {
-				LIST_ADD(&__objt_server(fconn->conn->target)->available_conns[tid], &fconn->conn->list);
+				LIST_ADD(&__objt_server(fconn->conn->target)->available_conns[tid], mt_list_to_list(&fconn->conn->list));
 			}
 
 	}
diff --git a/src/mux_h2.c b/src/mux_h2.c
index 47b9068..0d42324 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -3906,9 +3906,9 @@
 					return;
 
 				}
-			} else if (LIST_ISEMPTY(&h2c->conn->list) &&
+			} else if (MT_LIST_ISEMPTY(&h2c->conn->list) &&
 			           h2_avail_streams(h2c->conn) > 0 && objt_server(h2c->conn->target)) {
-				LIST_ADD(&__objt_server(h2c->conn->target)->available_conns[tid], &h2c->conn->list);
+				LIST_ADD(&__objt_server(h2c->conn->target)->available_conns[tid], mt_list_to_list(&h2c->conn->list));
 			}
 		}
 	}
