Index: trunk/ippTools/share/pubtool_definerun.sql
===================================================================
--- trunk/ippTools/share/pubtool_definerun.sql	(revision 26949)
+++ trunk/ippTools/share/pubtool_definerun.sql	(revision 26956)
@@ -2,10 +2,12 @@
 SELECT
     client_id,
-    stage_id
+    stage_id,
+    src_label
 FROM (
     -- Get diffs to publish
     SELECT
         client_id,
-        diff_id AS stage_id
+        diff_id AS stage_id,
+        label AS src_label
     FROM publishClient
     JOIN diffRun
@@ -18,5 +20,6 @@
     SELECT
         client_id,
-        cam_id AS stage_id
+        cam_id AS stage_id,
+        label AS src_label
     FROM publishClient
     JOIN camRun
Index: trunk/ippTools/src/pubtool.c
===================================================================
--- trunk/ippTools/src/pubtool.c	(revision 26949)
+++ trunk/ippTools/src/pubtool.c	(revision 26956)
@@ -156,7 +156,5 @@
     // optional
     PXOPT_COPY_S64(config->args, where, "-client_id", "client_id", "==");
-    PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
-
-    PXOPT_LOOKUP_STR(label, config->args, "-label", false, false);
+    pxAddLabelSearchArgs (config, where, "-label", "label", "=="); // define using newExp label
 
     psString query = pxDataGet("pubtool_definerun.sql"); // Query to run
@@ -211,4 +209,5 @@
         psS64 client = psMetadataLookupS64(NULL, row, "client_id"); // Client identifier
         psS64 stage = psMetadataLookupS64(NULL, row, "stage_id");   // Stage identifier
+        char *label = psMetadataLookupStr(NULL, row, "src_label");   // label from correct source
 
         if (!publishRunInsert(config->dbh, 0, client, stage, label, "new")) {
Index: trunk/ippTools/src/pubtoolConfig.c
===================================================================
--- trunk/ippTools/src/pubtoolConfig.c	(revision 26949)
+++ trunk/ippTools/src/pubtoolConfig.c	(revision 26956)
@@ -62,5 +62,5 @@
     psMetadata *definerunArgs = psMetadataAlloc();
     psMetadataAddS64(definerunArgs, PS_LIST_TAIL, "-client_id", 0, "search by client_id", 0);
-    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", 0, "set and search by label", NULL);
+    psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "set and search by label", NULL);
 
     // -pending
