diff --git a/lib/ansible/plugins/filter/core.py b/lib/ansible/plugins/filter/core.py index b572ab4d8a..eab0022888 100644 --- a/lib/ansible/plugins/filter/core.py +++ b/lib/ansible/plugins/filter/core.py @@ -440,8 +440,8 @@ def flatten(mylist, levels=None): if levels is None: ret.extend(flatten(element)) elif levels >= 1: - levels = int(levels) - 1 - ret.extend(flatten(element, levels=levels)) + # decrement as we go down the stack + ret.extend(flatten(element, levels=(int(levels) - 1))) else: ret.append(element) else: