diff --git a/src/mad/sh/scripts_common.sh b/src/mad/sh/scripts_common.sh
index 6d917232a..5ecbb38a2 100644
--- a/src/mad/sh/scripts_common.sh
+++ b/src/mad/sh/scripts_common.sh
@@ -626,6 +626,7 @@ function get_source_xml {
 # The variables set are as follows:
 #
 # * VMID
+# * DISK_TARGET_PATH
 # * DRIVER
 # * TYPE
 # * READONLY
@@ -669,6 +670,7 @@ function get_disk_information {
     while IFS= read -r -d '' element; do
         XPATH_ELEMENTS[i++]="$element"
     done < <($CMD       /VMM_DRIVER_ACTION_DATA/VM/ID \
+                        /VMM_DRIVER_ACTION_DATA/DISK_TARGET_PATH \
                         $DISK_XPATH/DRIVER \
                         $DISK_XPATH/TYPE \
                         $DISK_XPATH/READONLY \
@@ -690,6 +692,7 @@ function get_disk_information {
                         $DISK_XPATH/TARGET)
 
     VMID="${XPATH_ELEMENTS[j++]}"
+    DISK_TARGET_PATH="${XPATH_ELEMENTS[j++]}"
     DRIVER="${XPATH_ELEMENTS[j++]:-$DEFAULT_TYPE}"
     TYPE="${XPATH_ELEMENTS[j++]}"
     READONLY="${XPATH_ELEMENTS[j++]}"
diff --git a/src/vmm_mad/remotes/kvm/resize_disk b/src/vmm_mad/remotes/kvm/resize_disk
index f193f5a05..24aa5a575 100755
--- a/src/vmm_mad/remotes/kvm/resize_disk
+++ b/src/vmm_mad/remotes/kvm/resize_disk
@@ -43,8 +43,11 @@ fi
 
 log_info "Resizing $DISK_TARGET to $DISK_SIZE"
 
-virsh --connect $LIBVIRT_URI qemu-monitor-command $DOMAIN --hmp "block_resize $drive ${DISK_SIZE}M"
-
+if [ -n "$USE_VIRSH_BLOCKRESIZE" ]; then
+    virsh --connect $LIBVIRT_URI blockresize "$DOMAIN" --path "$DISK_TARGET_PATH" --size "${DISK_SIZE}M"
+else
+    virsh --connect $LIBVIRT_URI qemu-monitor-command $DOMAIN --hmp "block_resize $drive ${DISK_SIZE}M"
+fi
 ) > /dev/null
 
 if [ $? -ne 0 ]; then
