diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index 0a84cee750..746498b11e 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -1746,7 +1746,10 @@ vzDomainBlockStatsImpl(virDomainObjPtr dom,
             virReportError(VIR_ERR_INVALID_ARG, _("invalid path: %s"), path);
             return -1;
         }
-        if (prlsdkGetBlockStats(privdom->stats, dom->def->disks[idx], stats) < 0)
+        if (prlsdkGetBlockStats(privdom->stats,
+                                dom->def->disks[idx],
+                                stats,
+                                IS_CT(dom->def)) < 0)
             return -1;
     } else {
         virDomainBlockStatsStruct s;
@@ -1759,7 +1762,10 @@ vzDomainBlockStatsImpl(virDomainObjPtr dom,
 #undef PARALLELS_ZERO_STATS
 
         for (i = 0; i < dom->def->ndisks; i++) {
-            if (prlsdkGetBlockStats(privdom->stats, dom->def->disks[i], &s) < 0)
+            if (prlsdkGetBlockStats(privdom->stats,
+                                    dom->def->disks[i],
+                                    &s,
+                                    IS_CT(dom->def)) < 0)
                 return -1;
 
 #define PARALLELS_SUM_STATS(VAR, TYPE, NAME)        \
diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c
index 089a4299e0..ced58e5e9a 100644
--- a/src/vz/vz_sdk.c
+++ b/src/vz/vz_sdk.c
@@ -4367,7 +4367,8 @@ prlsdkExtractStatsParam(PRL_HANDLE sdkstats, const char *name, long long *val)
 int
 prlsdkGetBlockStats(PRL_HANDLE sdkstats,
                     virDomainDiskDefPtr disk,
-                    virDomainBlockStatsPtr stats)
+                    virDomainBlockStatsPtr stats,
+                    bool isCt)
 {
     virDomainDeviceDriveAddressPtr address;
     int idx;
@@ -4376,23 +4377,29 @@ prlsdkGetBlockStats(PRL_HANDLE sdkstats,
     char *name = NULL;
 
     address = &disk->info.addr.drive;
-    switch (disk->bus) {
-    case VIR_DOMAIN_DISK_BUS_IDE:
-        prefix = "ide";
-        idx = address->bus * 2 + address->unit;
-        break;
-    case VIR_DOMAIN_DISK_BUS_SATA:
-        prefix = "sata";
+
+    if (isCt) {
+        prefix = "hdd";
         idx = address->unit;
-        break;
-    case VIR_DOMAIN_DISK_BUS_SCSI:
-        prefix = "scsi";
-        idx = address->unit;
-        break;
-    default:
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("Unknown disk bus: %X"), disk->bus);
-        goto cleanup;
+    } else {
+        switch (disk->bus) {
+        case VIR_DOMAIN_DISK_BUS_IDE:
+            prefix = "ide";
+            idx = address->bus * 2 + address->unit;
+            break;
+        case VIR_DOMAIN_DISK_BUS_SATA:
+            prefix = "sata";
+            idx = address->unit;
+            break;
+        case VIR_DOMAIN_DISK_BUS_SCSI:
+            prefix = "scsi";
+            idx = address->unit;
+            break;
+        default:
+            virReportError(VIR_ERR_INTERNAL_ERROR,
+                           _("Unknown disk bus: %X"), disk->bus);
+            goto cleanup;
+        }
     }
 
 
diff --git a/src/vz/vz_sdk.h b/src/vz/vz_sdk.h
index ef789ab1e6..e4e46dcba1 100644
--- a/src/vz/vz_sdk.h
+++ b/src/vz/vz_sdk.h
@@ -63,7 +63,7 @@ prlsdkDetachDevice(vzDriverPtr driver, virDomainObjPtr dom, virDomainDeviceDefPt
 int
 prlsdkUpdateDevice(vzDriverPtr driver, virDomainObjPtr dom, virDomainDeviceDefPtr dev);
 int
-prlsdkGetBlockStats(PRL_HANDLE sdkstats, virDomainDiskDefPtr disk, virDomainBlockStatsPtr stats);
+prlsdkGetBlockStats(PRL_HANDLE sdkstats, virDomainDiskDefPtr disk, virDomainBlockStatsPtr stats, bool isCt);
 int
 prlsdkGetNetStats(PRL_HANDLE sdkstas, PRL_HANDLE sdkdom, const char *path, virDomainInterfaceStatsPtr stats);
 int