Index: /trunk/ippTools/share/Makefile.am
===================================================================
--- /trunk/ippTools/share/Makefile.am	(revision 28264)
+++ /trunk/ippTools/share/Makefile.am	(revision 28265)
@@ -28,5 +28,4 @@
      camtool_pendingcleanuprun.sql \
      camtool_queue_chip_id.sql \
-     camtool_reset_faulted_runs.sql \
      camtool_revertprocessedexp.sql \
      camtool_export_run.sql \
Index: unk/ippTools/share/camtool_reset_faulted_runs.sql
===================================================================
--- /trunk/ippTools/share/camtool_reset_faulted_runs.sql	(revision 28264)
+++ 	(revision )
@@ -1,7 +1,0 @@
-UPDATE camRun, camProcessedExp, chipRun, rawExp
-SET camRun.state = 'new'
-WHERE
-    camRun.cam_id = camProcessedExp.cam_id
-    AND camRun.chip_id = chipRun.chip_id
-    AND chipRun.exp_id = rawExp.exp_id
-    AND camProcessedExp.fault != 0
Index: /trunk/ippTools/share/camtool_revertprocessedexp.sql
===================================================================
--- /trunk/ippTools/share/camtool_revertprocessedexp.sql	(revision 28264)
+++ /trunk/ippTools/share/camtool_revertprocessedexp.sql	(revision 28265)
@@ -6,2 +6,3 @@
     AND chipRun.exp_id = rawExp.exp_id
     AND camProcessedExp.fault != 0
+    AND camRun.state = 'new'
Index: /trunk/ippTools/src/camtool.c
===================================================================
--- /trunk/ippTools/src/camtool.c	(revision 28264)
+++ /trunk/ippTools/src/camtool.c	(revision 28265)
@@ -503,5 +503,5 @@
 
 /*     psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s psastro %s ppstats %s ppImage %s streaks %s\n", */
-/* 	    ver_pslib,ver_psmodules,ver_psphot,ver_psastro,ver_ppstats,ver_ppimage,ver_streaks); */
+/*          ver_pslib,ver_psmodules,ver_psphot,ver_psastro,ver_ppstats,ver_ppimage,ver_streaks); */
     psString software_ver = NULL;
     if ((ver_pslib)&&(ver_psmodules)) {
@@ -637,16 +637,16 @@
         path_base,
         fault,
-	software_ver,
-	maskfrac_ref_npix,
-	maskfrac_ref_static,
-	maskfrac_ref_dynamic,
-	maskfrac_ref_magic,
-	maskfrac_ref_advisory,
-	maskfrac_max_npix,
-	maskfrac_max_static,
-	maskfrac_max_dynamic,
-	maskfrac_max_magic,
-	maskfrac_max_advisory,
-	quality
+        software_ver,
+        maskfrac_ref_npix,
+        maskfrac_ref_static,
+        maskfrac_ref_dynamic,
+        maskfrac_ref_magic,
+        maskfrac_ref_advisory,
+        maskfrac_max_npix,
+        maskfrac_max_static,
+        maskfrac_max_dynamic,
+        maskfrac_max_magic,
+        maskfrac_max_advisory,
+        quality
         );
 
@@ -677,8 +677,8 @@
     if (!pxSetRunSoftware(config, "camRun", "cam_id", cam_id, software_ver)) {
       if (!psDBRollback(config->dbh)) {
-	psError(PS_ERR_UNKNOWN, false, "database error");
+        psError(PS_ERR_UNKNOWN, false, "database error");
       }
       psError(PS_ERR_UNKNOWN, false, "failed to set camRun.software_ver for cam_id: %" PRId64,
-	      cam_id);
+              cam_id);
       psFree(output);
       return(false);
@@ -687,15 +687,15 @@
     if (maskfrac_ref_npix) {
       if (!pxCamSetRunMaskfrac(config, "camRun", "cam_id",cam_id,
-			       (float) maskfrac_ref_npix, maskfrac_ref_static,
-			       maskfrac_ref_dynamic, maskfrac_ref_magic, maskfrac_ref_advisory,
-			       (float) maskfrac_max_npix, maskfrac_max_static,
-			       maskfrac_max_dynamic, maskfrac_max_magic, maskfrac_max_advisory)) {
-	if (!psDBRollback(config->dbh)) {
-	  psError(PS_ERR_UNKNOWN, false, "database error");
-	}
-	psError(PS_ERR_UNKNOWN, false, "failed to set camRun.maskstats for cam_id: %" PRId64,
-		cam_id);
-	psFree(output);
-	return(false);
+                               (float) maskfrac_ref_npix, maskfrac_ref_static,
+                               maskfrac_ref_dynamic, maskfrac_ref_magic, maskfrac_ref_advisory,
+                               (float) maskfrac_max_npix, maskfrac_max_static,
+                               maskfrac_max_dynamic, maskfrac_max_magic, maskfrac_max_advisory)) {
+        if (!psDBRollback(config->dbh)) {
+          psError(PS_ERR_UNKNOWN, false, "database error");
+        }
+        psError(PS_ERR_UNKNOWN, false, "failed to set camRun.maskstats for cam_id: %" PRId64,
+                cam_id);
+        psFree(output);
+        return(false);
       }
     }
@@ -709,5 +709,5 @@
         return false;
     }
-    
+
     psFree(row);
 
@@ -893,6 +893,10 @@
 
     {
-        psString query = pxDataGet("camtool_reset_faulted_runs.sql");
+        psString query = pxDataGet("camtool_revertprocessedexp.sql");
         if (!query) {
+            // rollback
+            if (!psDBRollback(config->dbh)) {
+                psError(PS_ERR_UNKNOWN, false, "database error");
+            }
             psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
             psFree(where);
@@ -919,36 +923,4 @@
         psFree(query);
     }
-
-    {
-        psString query = pxDataGet("camtool_revertprocessedexp.sql");
-        if (!query) {
-            // rollback
-            if (!psDBRollback(config->dbh)) {
-                psError(PS_ERR_UNKNOWN, false, "database error");
-            }
-            psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
-            psFree(where);
-            return false;
-        }
-
-        // use psDBGenerateWhereConditionalSQL with AND ... because the SQL ends in a WHERE
-        if (where && psListLength(where->list)) {
-            psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
-            psStringAppend(&query, " AND %s", whereClause);
-            psFree(whereClause);
-        }
-
-        if (!p_psDBRunQuery(config->dbh, query)) {
-            // rollback
-            if (!psDBRollback(config->dbh)) {
-                psError(PS_ERR_UNKNOWN, false, "database error");
-            }
-            psError(PS_ERR_UNKNOWN, false, "database error");
-            psFree(query);
-            psFree(where);
-            return false;
-        }
-        psFree(query);
-    }
     psFree(where);
 
