Index: trunk/ippTools/src/staticskytool.c
===================================================================
--- trunk/ippTools/src/staticskytool.c	(revision 34933)
+++ trunk/ippTools/src/staticskytool.c	(revision 34973)
@@ -1066,16 +1066,20 @@
     psFree(whereMD);
 
+    psString labelHook = psStringCopy("");
     if (!rerun) {
         if (label)  {
-            psStringAppend(&query, "\nAND (skycalRun.label IS NULL OR skycalRun.label = '%s')", label);
+            psStringAppend(&labelHook, "\nAND skycalRun.label = '%s'", label);
         }
         psStringAppend(&query, "\nAND skycal_id IS NULL");
     }
 
-    if (!p_psDBRunQuery(config->dbh, query)) {
+
+    if (!p_psDBRunQueryF(config->dbh, query, labelHook)) {
         psError(PS_ERR_UNKNOWN, false, "database error");
+        psFree(labelHook);
         psFree(query);
         return false;
     }
+    psFree(labelHook);
     psFree(query);
 
@@ -1392,5 +1396,11 @@
     PXOPT_COPY_STR(config->args, where, "-label",      "skycalRun.label", "==");
     PXOPT_COPY_STR(config->args, where, "-data_group", "skycalRun.data_group", "LIKE");
+    PXOPT_COPY_S16(config->args, where, "-quality",     "skycalResult.quality", "==");
     PXOPT_COPY_S16(config->args, where, "-fault",      "skycalResult.fault", "==");
+
+    if (!pxskycellAddWhere(config, where)) {
+        psError(PXTOOLS_ERR_CONFIG, false, "failed to add skycell search arguments");
+        return false;
+    }
 
     PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
