diff --git a/lib/ansible/executor/play_iterator.py b/lib/ansible/executor/play_iterator.py index 23ba52edf93..795eed2a8c1 100644 --- a/lib/ansible/executor/play_iterator.py +++ b/lib/ansible/executor/play_iterator.py @@ -396,10 +396,8 @@ class PlayIterator: return None def _insert_tasks_into_state(self, state, task_list): - if state.fail_state != self.FAILED_NONE: - return state - - if not task_list: + # if we've failed at all, or if the task list is empty, just return the current state + if state.fail_state != self.FAILED_NONE or not task_list: return state if state.run_state == self.ITERATING_TASKS: