diff --git a/src/cluster_legacy.c b/src/cluster_legacy.c
index 14f8a6bd1..4e21d1473 100644
--- a/src/cluster_legacy.c
+++ b/src/cluster_legacy.c
@@ -1230,7 +1230,7 @@ void clusterReset(int hard) {
     if (nodeIsReplica(myself)) {
         clusterSetNodeAsPrimary(myself);
         replicationUnsetPrimary();
-        emptyData(-1, EMPTYDB_NO_FLAGS, NULL);
+        emptyData(-1, server.lazyfree_lazy_user_flush ? EMPTYDB_ASYNC : EMPTYDB_NO_FLAGS, NULL);
     }
 
     /* Close slots, reset manual failover state. */
diff --git a/valkey.conf b/valkey.conf
index f485b42b1..5960feb1b 100644
--- a/valkey.conf
+++ b/valkey.conf
@@ -1308,7 +1308,11 @@ lazyfree-lazy-user-del yes
 # deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the
 # commands. When neither flag is passed, this directive will be used to determine
 # if the data should be deleted asynchronously.
-
+#
+# When a replica performs a node reset via CLUSTER RESET, the entire
+# database content is removed to allow the node to become an empty primary.
+# This directive also determines whether the data should be deleted asynchronously.
+#
 # There are many problems with running flush synchronously. Even in single CPU
 # environments, the thread managers should balance between the freeing and
 # serving incoming requests. The default value is yes.