diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index c1743e74623d..bda752ded338 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -3011,7 +3011,7 @@ public UserVm destroyVm(DestroyVMCmd cmd) throws ResourceUnavailableException, C throw new InvalidParameterValueException("unable to find a virtual machine with id " + vmId); } - if (vm.getState() == State.Destroyed || vm.getState() == State.Expunging) { + if ((vm.getState() == State.Destroyed && !expunge) || vm.getState() == State.Expunging) { s_logger.debug("Vm id=" + vmId + " is already destroyed"); return vm; }