diff --git a/simulator/virtual_machine.go b/simulator/virtual_machine.go index b05fa4c98..098b9d973 100644 --- a/simulator/virtual_machine.go +++ b/simulator/virtual_machine.go @@ -1382,7 +1382,9 @@ func (vm *VirtualMachine) configureDevices(ctx *Context, spec *types.VirtualMach return invalid } devices = vm.removeDevice(ctx, devices, &rspec) - device.DeviceInfo.GetDescription().Summary = "" // regenerate summary + if device.DeviceInfo != nil { + device.DeviceInfo.GetDescription().Summary = "" // regenerate summary + } err := vm.configureDevice(ctx, devices, dspec) if err != nil { diff --git a/simulator/virtual_machine_test.go b/simulator/virtual_machine_test.go index 2055c9121..1f7b4cb4a 100644 --- a/simulator/virtual_machine_test.go +++ b/simulator/virtual_machine_test.go @@ -374,6 +374,11 @@ func TestReconfigVmDevice(t *testing.T) { t.Error(err) } + d.GetVirtualDevice().DeviceInfo = nil + if err = vm.EditDevice(ctx, d); err != nil { + t.Error(err) + } + // RemoveDevice and delete the file backing if err = vm.RemoveDevice(ctx, false, d); err != nil { t.Error(err)