diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index 8f9eec023d8..ac5b4141123 100644 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -2377,7 +2377,7 @@ public class VirtualMachineMO extends BaseMO { List existingUnitNumbers = new ArrayList(); int deviceNumber = 0; - int ideControllerKey = getIDEDeviceControllerKey(); + int scsiControllerKey = getScsiDeviceControllerKeyNoException(); if (devices != null && devices.size() > 0) { for (VirtualDevice device : devices) { if (device.getControllerKey() != null && device.getControllerKey().intValue() == controllerKey) { @@ -2388,7 +2388,7 @@ public class VirtualMachineMO extends BaseMO { while (true) { // Next device number should be the lowest device number on the key that is not in use and is not reserved. if (!existingUnitNumbers.contains(Integer.valueOf(deviceNumber))) { - if (controllerKey != ideControllerKey && !VmwareHelper.isReservedScsiDeviceNumber(deviceNumber)) + if (controllerKey != scsiControllerKey || !VmwareHelper.isReservedScsiDeviceNumber(deviceNumber)) break; } ++deviceNumber;