diff -rup libvirt-0.6.3/src/xm_internal.c libvirt-0.6.3.new/src/xm_internal.c --- libvirt-0.6.3/src/xm_internal.c 2009-06-12 11:10:10.000000000 -0400 +++ libvirt-0.6.3.new/src/xm_internal.c 2009-06-12 11:09:45.000000000 -0400 @@ -2936,6 +2936,7 @@ xenXMDomainDetachDevice(virDomainPtr dom def->disks + i + 1, sizeof(*def->disks) * (def->ndisks - (i + 1))); + def->ndisks--; break; } } @@ -2954,6 +2955,7 @@ xenXMDomainDetachDevice(virDomainPtr dom def->nets + i + 1, sizeof(*def->nets) * (def->nnets - (i + 1))); + def->nnets--; break; } }