diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 39cedbd..40b1929 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -3842,9 +3842,6 @@ virDomainDefPostParseInternal(virDomainDefPtr def,
     if (virDomainDefPostParseMemory(def, parseFlags) < 0)
         return -1;
 
-    if (virDomainDefAddConsoleCompat(def) < 0)
-        return -1;
-
     if (virDomainDefRejectDuplicateControllers(def) < 0)
         return -1;
 
@@ -3854,7 +3851,7 @@ virDomainDefPostParseInternal(virDomainDefPtr def,
     if (virDomainDefPostParseTimer(def) < 0)
         return -1;
 
-    if (virDomainDefAddImplicitControllers(def) < 0)
+    if (virDomainDefAddImplicitDevices(def) < 0)
         return -1;
 
     /* clean up possibly duplicated metadata entries */
@@ -18289,7 +18286,7 @@ virDomainDefMaybeAddSmartcardController(virDomainDefPtr def)
  * in the XML. This is for compat with existing apps which will
  * not know/care about <controller> info in the XML
  */
-int
+static int
 virDomainDefAddImplicitControllers(virDomainDefPtr def)
 {
     if (virDomainDefAddDiskControllersForType(def,
@@ -18324,6 +18321,18 @@ virDomainDefAddImplicitControllers(virDomainDefPtr def)
     return 0;
 }
 
+int
+virDomainDefAddImplicitDevices(virDomainDefPtr def)
+{
+    if (virDomainDefAddConsoleCompat(def) < 0)
+        return -1;
+
+    if (virDomainDefAddImplicitControllers(def) < 0)
+        return -1;
+
+    return 0;
+}
+
 virDomainIOThreadIDDefPtr
 virDomainIOThreadIDFind(virDomainDefPtr def,
                         unsigned int iothread_id)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 06305f0..6f044d2 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2697,7 +2697,7 @@ virDomainObjPtr virDomainObjParseFile(const char *filename,
 bool virDomainDefCheckABIStability(virDomainDefPtr src,
                                    virDomainDefPtr dst);
 
-int virDomainDefAddImplicitControllers(virDomainDefPtr def);
+int virDomainDefAddImplicitDevices(virDomainDefPtr def);
 
 virDomainIOThreadIDDefPtr virDomainIOThreadIDFind(virDomainDefPtr def,
                                                   unsigned int iothread_id);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 3a1b9e1..5399117 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -200,7 +200,7 @@ virDomainControllerRemove;
 virDomainControllerTypeToString;
 virDomainCpuPlacementModeTypeFromString;
 virDomainCpuPlacementModeTypeToString;
-virDomainDefAddImplicitControllers;
+virDomainDefAddImplicitDevices;
 virDomainDefAddUSBController;
 virDomainDefCheckABIStability;
 virDomainDefCheckDuplicateDiskInfo;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 102fade..9c60518 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7924,7 +7924,7 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps,
         /* vmdef has the pointer. Generic codes for vmdef will do all jobs */
         dev->data.disk = NULL;
         if (disk->bus != VIR_DOMAIN_DISK_BUS_VIRTIO)
-            if (virDomainDefAddImplicitControllers(vmdef) < 0)
+            if (virDomainDefAddImplicitDevices(vmdef) < 0)
                 return -1;
         if (qemuDomainAssignAddresses(vmdef, qemuCaps, NULL) < 0)
             return -1;
@@ -7949,7 +7949,7 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps,
         if (virDomainHostdevInsert(vmdef, hostdev))
             return -1;
         dev->data.hostdev = NULL;
-        if (virDomainDefAddImplicitControllers(vmdef) < 0)
+        if (virDomainDefAddImplicitDevices(vmdef) < 0)
             return -1;
         if (qemuDomainAssignAddresses(vmdef, qemuCaps, NULL) < 0)
             return -1;
@@ -7991,7 +7991,7 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps,
         if (qemuDomainChrInsert(vmdef, dev->data.chr) < 0)
             return -1;
         dev->data.chr = NULL;
-        if (virDomainDefAddImplicitControllers(vmdef) < 0)
+        if (virDomainDefAddImplicitDevices(vmdef) < 0)
             return -1;
         if (qemuDomainAssignAddresses(vmdef, qemuCaps, NULL) < 0)
             return -1;
diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index 4fd0a1d..893c77a 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -1691,7 +1691,7 @@ virVMXParseConfig(virVMXContext *ctx,
     }
 
     /* def:controllers */
-    if (virDomainDefAddImplicitControllers(def) < 0) {
+    if (virDomainDefAddImplicitDevices(def) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Could not add controllers"));
         goto cleanup;
     }
diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c
index de73c31..8bf2fe9 100644
--- a/src/vz/vz_sdk.c
+++ b/src/vz/vz_sdk.c
@@ -1356,7 +1356,7 @@ prlsdkLoadDomain(vzConnPtr privconn, virDomainObjPtr dom)
     if (prlsdkGetDomainState(sdkdom, &domainState) < 0)
         goto error;
 
-    if (virDomainDefAddImplicitControllers(def) < 0)
+    if (virDomainDefAddImplicitDevices(def) < 0)
         goto error;
 
     if (def->ngraphics > 0) {
