Index: trunk/ippTools/src/bgtool.c
===================================================================
--- trunk/ippTools/src/bgtool.c	(revision 28502)
+++ trunk/ippTools/src/bgtool.c	(revision 28737)
@@ -311,5 +311,5 @@
     pxAddLabelSearchArgs(config,   where, "-label",              "chipRun.label",         "==");
 
-    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
+    if (!psListLength(where->list)) {
         psFree(where);
         psError(PXTOOLS_ERR_CONFIG, true, "search parameters are required");
@@ -325,4 +325,5 @@
     PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false);
     PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false);
+    PXOPT_LOOKUP_BOOL(destreaked, config->args, "-destreaked", false);
     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
@@ -343,4 +344,8 @@
     }
     psFree(where);
+
+    if (destreaked) {
+        psStringAppend(&query, " AND chipRun.magicked > 0");
+    }
 
     if (!rerun) {
@@ -361,5 +366,5 @@
             psStringAppend(&query,
                            "\nAND (chipBackgroundRun.dist_group = '%s'"
-                           " OR chipBackgroundRun.dist_group IS NULL",
+                           " OR chipBackgroundRun.dist_group IS NULL)",
                            dist_group);
         }
@@ -479,5 +484,5 @@
     }
 
-    psString query = psStringCopy("UPDATE chipBackgroundRun JOIN chipBackgroundImfile USING(chip_bg_id)");
+    psString query = psStringCopy("UPDATE chipBackgroundRun");
     bool result = pxUpdateRun(config, where, &query, "chipBackgroundRun", "chip_bg_id",
                               "chipBackgroundImfile", true);
@@ -1086,4 +1091,5 @@
     }
 
+    PXOPT_LOOKUP_BOOL(destreaked, config->args, "-destreaked", false);
     PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false);
     PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", false, false);
@@ -1112,4 +1118,8 @@
     }
     psFree(where);
+
+    if (destreaked) {
+        psStringAppend(&query, " AND warpRun.magicked > 0");
+    }
 
     if (!rerun) {
