diff -ru libvirt-new/src/proxy_internal.c libvirt/src/proxy_internal.c --- libvirt-new/src/proxy_internal.c 2006-07-03 11:48:49.000000000 -0400 +++ libvirt/src/proxy_internal.c 2006-07-10 08:51:18.000000000 -0400 @@ -760,6 +760,11 @@ virProxyError(conn, VIR_ERR_INVALID_ARG, __FUNCTION__); return (NULL); } + + if ((res = virGetDomainByID(conn, id)) != NULL) { + return res; + } + memset(&req, 0, sizeof(req)); req.command = VIR_PROXY_LOOKUP_ID; req.data.arg = id; diff -ru libvirt-new/src/xend_internal.c libvirt/src/xend_internal.c --- libvirt-new/src/xend_internal.c 2006-07-10 09:00:15.000000000 -0400 +++ libvirt/src/xend_internal.c 2006-07-10 08:49:42.000000000 -0400 @@ -2403,6 +2403,10 @@ unsigned char uuid[16]; virDomainPtr ret; + if ((ret = virGetDomainByID(conn, id)) != NULL) { + return ret; + } + if (xenDaemonDomainLookupByID(conn, id, &name, uuid) < 0) { goto error; }