diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6c429cd59355452fe15e418df434e2f8be0549d4..210deeee7e2f51d20d2abf0ff414e50555e97d97 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 4b591562b705ac9ea1d53ef19c75bc8798521b47..c1c60c1d9ea6fd09ad211da44ff9da104d4a51e6 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 6e76b394fe82a91e43ba95602d969ed2afbd3cb7..82615f512521da074628ef0e6daed844ce6fe0a6 100644
--- a/tests/qemuxml2xmloutdata/video-none-device.xml
+++ b/tests/qemuxml2xmloutdata/video-none-device.xml
@@ -34,6 +34,7 @@