diff --git a/subsys/net/ip/connection.c b/subsys/net/ip/connection.c
index 454543a..b370bc1 100644
--- a/subsys/net/ip/connection.c
+++ b/subsys/net/ip/connection.c
@@ -114,17 +114,24 @@
 #define conn_register_debug(...)
 #endif /* (CONFIG_NET_CONN_LOG_LEVEL >= LOG_LEVEL_DBG) */
 
+static K_MUTEX_DEFINE(conn_lock);
+
 static struct net_conn *conn_get_unused(void)
 {
 	sys_snode_t *node;
 
+	k_mutex_lock(&conn_lock, K_FOREVER);
+
 	node = sys_slist_peek_head(&conn_unused);
 	if (!node) {
+		k_mutex_unlock(&conn_lock);
 		return NULL;
 	}
 
 	sys_slist_remove(&conn_unused, NULL, node);
 
+	k_mutex_unlock(&conn_lock);
+
 	return CONTAINER_OF(node, struct net_conn, node);
 }
 
@@ -132,14 +139,18 @@
 {
 	conn->flags |= NET_CONN_IN_USE;
 
+	k_mutex_lock(&conn_lock, K_FOREVER);
 	sys_slist_prepend(&conn_used, &conn->node);
+	k_mutex_unlock(&conn_lock);
 }
 
 static void conn_set_unused(struct net_conn *conn)
 {
 	(void)memset(conn, 0, sizeof(*conn));
 
+	k_mutex_lock(&conn_lock, K_FOREVER);
 	sys_slist_prepend(&conn_unused, &conn->node);
+	k_mutex_unlock(&conn_lock);
 }
 
 /* Check if we already have identical connection handler installed. */
@@ -152,6 +163,8 @@
 	struct net_conn *conn;
 	struct net_conn *tmp;
 
+	k_mutex_lock(&conn_lock, K_FOREVER);
+
 	SYS_SLIST_FOR_EACH_CONTAINER_SAFE(&conn_used, conn, tmp, node) {
 		if (conn->proto != proto) {
 			continue;
@@ -235,9 +248,11 @@
 			continue;
 		}
 
+		k_mutex_unlock(&conn_lock);
 		return conn;
 	}
 
+	k_mutex_unlock(&conn_lock);
 	return NULL;
 }
 
@@ -380,7 +395,9 @@
 
 	NET_DBG("Connection handler %p removed", conn);
 
+	k_mutex_lock(&conn_lock, K_FOREVER);
 	sys_slist_find_and_remove(&conn_used, &conn->node);
+	k_mutex_unlock(&conn_lock);
 
 	conn_set_unused(conn);
 
@@ -824,9 +841,13 @@
 {
 	struct net_conn *conn;
 
+	k_mutex_lock(&conn_lock, K_FOREVER);
+
 	SYS_SLIST_FOR_EACH_CONTAINER(&conn_used, conn, node) {
 		cb(conn, user_data);
 	}
+
+	k_mutex_unlock(&conn_lock);
 }
 
 void net_conn_init(void)
