diff --git a/publisher/recipes/shot_animation.py b/publisher/recipes/shot_animation.py
index a8495ef91468366df4a947fe0b11033b0a3e0d7d..412a76014ccb6ea0da347b7efbf99f1d76e89dc7 100644
--- a/publisher/recipes/shot_animation.py
+++ b/publisher/recipes/shot_animation.py
@@ -46,7 +46,10 @@ def run(element, settings, logger):
         else:
             skipped.append(target_name)
 
-    element.skipped = skipped
+    if not element.skipped:
+        element.skipped = []
+
+    element.skipped += skipped
 
 
 def sanity_check(context):
@@ -124,7 +127,10 @@ def _publish_locators(element):
     # Get locators
     locators = _get_locators(element.scene_root)
     if not locators:
-        element.skipped = True
+        if element.skipped:
+            element.skipped.append("nulls")
+        else:
+            element.skipped = ["nulls"]
         return
 
     export_camera = _create_camera(camera)
@@ -189,8 +195,10 @@ def _publish_set(element):
 
 def post(element, settings, logger):
     for target_name in element.target_versions:
-        if target_name == "camera":
+        if target_name in element.skipped:
+            continue
 
+        if target_name == "camera":
             version = element.target_versions["camera"]
             version.set_metadata("publish-data", value={
                 "node": element.scene_root,
@@ -295,7 +303,6 @@ def _create_camera(scene_camera):
 
 def _get_locators(root):
     children = cmds.listRelatives(root, allDescendents=True, type="transform", path=True)
-    print(root, children)
     groups = [t for t in children if t.endswith("GRP")]
 
     locators = []
@@ -308,4 +315,4 @@ def _get_locators(root):
         if _locators:
             locators += _locators
 
-    return locators
\ No newline at end of file
+    return locators