diff --git a/salt/client/__init__.py b/salt/client/__init__.py
index <HASH>..<HASH> 100644
--- a/salt/client/__init__.py
+++ b/salt/client/__init__.py
@@ -1054,6 +1054,10 @@ class LocalClient(object):
                 if raw['data']['return'] == {}:
                     continue
 
+                if 'return' in raw['data']['return'] and \
+                    raw['data']['return']['return'] == {}:
+                    continue
+
                 # if we didn't originally target the minion, lets add it to the list
                 if raw['data']['id'] not in minions:
                     minions.add(raw['data']['id'])
Fixing a weird edge case when using salt syndics and targetting via pillar.  Without this fix the master of masters ends up in an infinite loop since the data returned from the minions is differently structured than if a sync was not in use. (#<I>)