diff --git a/state/machine.go b/state/machine.go
index <HASH>..<HASH> 100644
--- a/state/machine.go
+++ b/state/machine.go
@@ -906,7 +906,7 @@ func (original *Machine) advanceLifecycle(life Life, force, dyingAllowContainers
 			}
 
 			if canDie && !dyingAllowContainers {
-				if err := m.evaulateContainersAdvanceLifecycle(); !IsHasContainersError(err) {
+				if err := m.evaulateContainersAdvanceLifecycle(); err != nil && !IsHasContainersError(err) {
 					return nil, err
 				} else if IsHasContainersError(err) {
 					canDie = false
Don't return if err is nil, causes destroy container to fail.