Index: trunk/ippTools/share/chiptool_definecopy.sql
===================================================================
--- trunk/ippTools/share/chiptool_definecopy.sql	(revision 27192)
+++ trunk/ippTools/share/chiptool_definecopy.sql	(revision 27195)
@@ -3,4 +3,6 @@
 FROM chipRun AS chipOld
 JOIN rawExp USING(exp_id)
-LEFT JOIN chipRun AS chipNew USING(exp_id)
+LEFT JOIN chipRun AS chipNew
+    ON chipNew.exp_id = chipOld.exp_id
+    AND chipNew.label = '%s'
 WHERE chipNew.chip_id IS NULL
Index: trunk/ippTools/src/chiptool.c
===================================================================
--- trunk/ippTools/src/chiptool.c	(revision 27192)
+++ trunk/ippTools/src/chiptool.c	(revision 27195)
@@ -331,5 +331,4 @@
     pxchipGetSearchArgs (config, where); // rawExp only
     pxAddLabelSearchArgs (config, where, "-label", "chipOld.label", "LIKE");
-    pxAddLabelSearchArgs (config, where, "-set_label", "chipNew.label", "LIKE");
 
     // psListLength(where->list) is at least 1 because exp_type defaults to "object"
@@ -342,5 +341,5 @@
 
     PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", true, false);
-    PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);
+    PXOPT_LOOKUP_STR(label, config->args, "-set_label", true, false);
     PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false);
     PXOPT_LOOKUP_STR(expgroup, config->args, "-set_expgroup", false, false);
@@ -370,5 +369,5 @@
     psFree(where);
 
-    if (!p_psDBRunQuery(config->dbh, query)) {
+    if (!p_psDBRunQueryF(config->dbh, query, label)) {
         psError(PS_ERR_UNKNOWN, false, "database error");
         psFree(query);
Index: trunk/ippTools/src/chiptoolConfig.c
===================================================================
--- trunk/ippTools/src/chiptoolConfig.c	(revision 27192)
+++ trunk/ippTools/src/chiptoolConfig.c	(revision 27195)
@@ -72,5 +72,5 @@
 
     psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_workdir", 0, "define workdir (required)", NULL);
-    psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_label", 0, "define label", NULL);
+    psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_label", 0, "define label (required)", NULL);
     psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_reduction", 0, "define reduction class", NULL);
     psMetadataAddStr(definecopyArgs, PS_LIST_TAIL, "-set_expgroup", 0, "define exposure group", NULL);
