diff --git a/database/rrdset.c b/database/rrdset.c
index 0dd84b4db1..e7cb89df07 100644
--- a/database/rrdset.c
+++ b/database/rrdset.c
@@ -1974,7 +1974,7 @@ void rrdset_finalize_labels(RRDSET *st)
         replace_label_list(labels, new_labels);
     }
 
-    netdata_rwlock_wrlock(&labels->labels_rwlock);
+    netdata_rwlock_rdlock(&labels->labels_rwlock);
     struct label *lbl = labels->head;
     while (lbl) {
         sql_store_chart_label(st->chart_uuid, (int)lbl->label_source, lbl->key, lbl->value);
diff --git a/database/sqlite/sqlite_aclk_chart.c b/database/sqlite/sqlite_aclk_chart.c
index d506d53acc..a9db5282a9 100644
--- a/database/sqlite/sqlite_aclk_chart.c
+++ b/database/sqlite/sqlite_aclk_chart.c
@@ -159,7 +159,7 @@ int aclk_add_chart_event(struct aclk_database_worker_config *wc, struct aclk_dat
         chart_payload.id = strdupz(st->id);
 
         struct label_index *labels = &st->state->labels;
-        netdata_rwlock_wrlock(&labels->labels_rwlock);
+        netdata_rwlock_rdlock(&labels->labels_rwlock);
         struct label *label_list = labels->head;
         struct label *chart_label = NULL;
         while (label_list) {
diff --git a/database/sqlite/sqlite_aclk_node.c b/database/sqlite/sqlite_aclk_node.c
index c451c41d4d..239a24b8cd 100644
--- a/database/sqlite/sqlite_aclk_node.c
+++ b/database/sqlite/sqlite_aclk_node.c
@@ -76,7 +76,7 @@ void sql_build_node_info(struct aclk_database_worker_config *wc, struct aclk_dat
     node_info.data.ml_info.ml_enabled = host->system_info->ml_enabled;
 
     struct label_index *labels = &host->labels;
-    netdata_rwlock_wrlock(&labels->labels_rwlock);
+    netdata_rwlock_rdlock(&labels->labels_rwlock);
     node_info.data.host_labels_head = labels->head;
 
     aclk_update_node_info(&node_info);