diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6c429cd593..210deeee7e 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5635,11 +5635,15 @@ virDomainDefPostParseVideo(virDomainDefPtr def,
return 0;
if (def->videos[0]->type == VIR_DOMAIN_VIDEO_TYPE_NONE) {
+ char *alias;
+
/* we don't want to format any values we automatically fill in for
- * videos into the XML, so clear them
- */
+ * videos into the XML, so clear them, but retain any user-assigned
+ * alias */
+ VIR_STEAL_PTR(alias, def->videos[0]->info.alias);
virDomainVideoDefClear(def->videos[0]);
def->videos[0]->type = VIR_DOMAIN_VIDEO_TYPE_NONE;
+ VIR_STEAL_PTR(def->videos[0]->info.alias, alias);
} else {
virDomainDeviceDef device = {
.type = VIR_DOMAIN_DEVICE_VIDEO,
diff --git a/tests/qemuxml2argvdata/video-none-device.xml b/tests/qemuxml2argvdata/video-none-device.xml
index 4b591562b7..c1c60c1d9e 100644
--- a/tests/qemuxml2argvdata/video-none-device.xml
+++ b/tests/qemuxml2argvdata/video-none-device.xml
@@ -31,6 +31,7 @@
diff --git a/tests/qemuxml2xmloutdata/video-none-device.xml b/tests/qemuxml2xmloutdata/video-none-device.xml
index 6e76b394fe..82615f5125 100644
--- a/tests/qemuxml2xmloutdata/video-none-device.xml
+++ b/tests/qemuxml2xmloutdata/video-none-device.xml
@@ -34,6 +34,7 @@