diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 1326c3d6b149620f57b2bd17f85fbebb3acc0207..5b72b7f7bf0a785f3e52eeb1f26ae874d79cefef 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -5078,6 +5078,7 @@ qemuDomainValidateStorageSource(virStorageSourcePtr src,
}
if (src->format == VIR_STORAGE_FILE_FAT &&
+ actualType != VIR_STORAGE_TYPE_VOLUME &&
actualType != VIR_STORAGE_TYPE_DIR) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("storage format 'fat' is supported only with 'dir' "
diff --git a/tests/qemuxml2argvdata/disk-source-pool.args b/tests/qemuxml2argvdata/disk-source-pool.args
index 676ffb5768dacefe01f28fd23e5ad64fbac3fd84..65565fe49e9123385213649fe16ec70f6b8c0f58 100644
--- a/tests/qemuxml2argvdata/disk-source-pool.args
+++ b/tests/qemuxml2argvdata/disk-source-pool.args
@@ -32,4 +32,8 @@ readonly=on \
-device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
-drive file=/tmp/idedisk.img,format=raw,if=none,id=drive-ide0-0-2 \
-device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2,bootindex=1 \
+-drive file=fat:/some/dir/device/vol1,if=none,id=drive-virtio-disk0,\
+readonly=on \
+-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\
+id=virtio-disk0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/disk-source-pool.xml b/tests/qemuxml2argvdata/disk-source-pool.xml
index ed326d8d49dd5ef510d474b429e4be4b010fa051..96bcae9a579bded0ac3bc9c3419e12f85e8f4ec2 100644
--- a/tests/qemuxml2argvdata/disk-source-pool.xml
+++ b/tests/qemuxml2argvdata/disk-source-pool.xml
@@ -37,9 +37,17 @@