diff --git a/lib/ansible/runner/action_plugins/group_by.py b/lib/ansible/runner/action_plugins/group_by.py
index 477f46fe844..2385df3863f 100644
--- a/lib/ansible/runner/action_plugins/group_by.py
+++ b/lib/ansible/runner/action_plugins/group_by.py
@@ -61,9 +61,13 @@ class ActionModule(object):
             conds = self.runner.conditional
             if type(conds) != list:
                 conds = [ conds ]
+            next_host = False
             for cond in conds:
                 if not check_conditional(cond, self.runner.basedir, data, fail_on_undefined=self.runner.error_on_undefined_vars):
-                    continue
+                    next_host = True
+                    break
+            if next_host:
+                continue
             group_name = template.template(self.runner.basedir, args['key'], data)
             group_name = group_name.replace(' ','-')
             if group_name not in groups: