diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 00c519b558..d61e810fcd 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2833,13 +2833,13 @@ virResctrlInfoNew;
 virResctrlMonitorAddPID;
 virResctrlMonitorCreate;
 virResctrlMonitorDeterminePath;
-virResctrlMonitorFreeStats;
 virResctrlMonitorGetCacheOccupancy;
 virResctrlMonitorGetID;
 virResctrlMonitorNew;
 virResctrlMonitorRemove;
 virResctrlMonitorSetAlloc;
 virResctrlMonitorSetID;
+virResctrlMonitorStatsFree;
 
 
 # util/virrotatingfile.h
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 4ca3eb7bde..98a4f7eaf7 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -20696,9 +20696,13 @@ struct _virQEMUResctrlMonData {
 static void
 qemuDomainFreeResctrlMonData(virQEMUResctrlMonDataPtr resdata)
 {
+    size_t i = 0;
+
     VIR_FREE(resdata->name);
     VIR_FREE(resdata->vcpus);
-    virResctrlMonitorFreeStats(resdata->stats, resdata->nstats);
+    for (i = 0; i < resdata->nstats; i++)
+        virResctrlMonitorStatsFree(resdata->stats[i]);
+    VIR_FREE(resdata->stats);
     VIR_FREE(resdata);
 }
 
diff --git a/src/util/virresctrl.c b/src/util/virresctrl.c
index fb66ea3d49..af0e5c0945 100644
--- a/src/util/virresctrl.c
+++ b/src/util/virresctrl.c
@@ -2765,25 +2765,19 @@ virResctrlMonitorGetStats(virResctrlMonitorPtr monitor,
  cleanup:
     VIR_FREE(datapath);
     VIR_FREE(filepath);
-    VIR_FREE(stat);
+    virResctrlMonitorStatsFree(stat);
     VIR_DIR_CLOSE(dirp);
     return ret;
 }
 
 
 void
-virResctrlMonitorFreeStats(virResctrlMonitorStatsPtr *stats,
-                           size_t nstats)
+virResctrlMonitorStatsFree(virResctrlMonitorStatsPtr stat)
 {
-    size_t i = 0;
-
-    if (!stats)
+    if (!stat)
         return;
 
-    for (i = 0; i < nstats; i++)
-        VIR_FREE(stats[i]);
-
-    VIR_FREE(stats);
+    VIR_FREE(stat);
 }
 
 
diff --git a/src/util/virresctrl.h b/src/util/virresctrl.h
index e92f8e0ece..d92f248278 100644
--- a/src/util/virresctrl.h
+++ b/src/util/virresctrl.h
@@ -232,5 +232,4 @@ virResctrlMonitorGetCacheOccupancy(virResctrlMonitorPtr monitor,
                                    size_t *nstats);
 
 void
-virResctrlMonitorFreeStats(virResctrlMonitorStatsPtr *stats,
-                           size_t nstats);
+virResctrlMonitorStatsFree(virResctrlMonitorStatsPtr stats);