diff --git a/lib/ansible/vars/__init__.py b/lib/ansible/vars/__init__.py index aa5b7ea531..e4d256f071 100644 --- a/lib/ansible/vars/__init__.py +++ b/lib/ansible/vars/__init__.py @@ -183,7 +183,8 @@ class VariableManager: try: host_facts = self._fact_cache.get(host.name, dict()) for k in host_facts.keys(): - host_facts[k] = UnsafeProxy(host_facts[k]) + if not isinstance(host_facts[k], UnsafeProxy): + host_facts[k] = UnsafeProxy(host_facts[k]) all_vars = combine_vars(all_vars, host_facts) except KeyError: pass