Index: trunk/ippTools/share/difftool_setskyfiletoupdate.sql
===================================================================
--- trunk/ippTools/share/difftool_setskyfiletoupdate.sql	(revision 27794)
+++ trunk/ippTools/share/difftool_setskyfiletoupdate.sql	(revision 28022)
@@ -1,4 +1,7 @@
 UPDATE diffRun
     JOIN diffSkyfile USING(diff_id)
+    LEFT JOIN magicDSRun ON (stage_id = diff_id AND stage = 'diff')
+    LEFT JOIN magicDSFile ON (magicDSRun.magic_ds_id = magicDSFile.magic_ds_id
+                              AND component = skycell_id)
 SET diffRun.state = 'update', 
     diffSkyfile.data_state = 'update'
@@ -7,2 +10,6 @@
     AND (diffRun.state = 'cleaned' OR diffRun.state = 'update')
     AND (diffSkyfile.data_state = 'cleaned')
+    -- don't queue update if the associated magicDSFile still exists
+    AND (diffRun.magicked = 0 
+      OR (magicDSRun.state = 'cleaned' OR magicDSRun.state = 'new')
+            AND magicDSFile.component IS NULL)
