Index: /trunk/ippTools/share/pstamptool_revertdependent.sql
===================================================================
--- /trunk/ippTools/share/pstamptool_revertdependent.sql	(revision 28145)
+++ /trunk/ippTools/share/pstamptool_revertdependent.sql	(revision 28146)
@@ -4,2 +4,3 @@
 SET pstampDependent.fault = 0
 WHERE pstampDependent.state = 'new'
+    AND (pstampDependent.fault > 0)
Index: /trunk/ippTools/src/pstamptool.c
===================================================================
--- /trunk/ippTools/src/pstamptool.c	(revision 28145)
+++ /trunk/ippTools/src/pstamptool.c	(revision 28146)
@@ -30,4 +30,5 @@
 #include "pxdata.h"
 #include "pstamptool.h"
+#include "pstamp.h"
 
 static bool adddatastoreMode(pxConfig *config);
@@ -941,10 +942,10 @@
     PXOPT_LOOKUP_S16(fault, config->args, "-fault",  false, false);
 
-    // By default only revert faults < 10 which are our "ipp exit codes"
+    // By default only revert faults < PSTAMP_FIRST_ERROR_CODE which are our "ipp exit codes"
     // codes larger than that are the pstamp request interface.
     // Don't fault those unless -fault waa provided
-    psString faultClause = "";
+    psString faultClause = psStringCopy("");
     if (!fault) {
-        faultClause = " \nAND (pstampJob.fault < 10)";
+        psStringAppend(&faultClause, " \nAND (pstampJob.fault < %d)", PSTAMP_FIRST_ERROR_CODE);
     }
 
@@ -963,7 +964,11 @@
 
     if (!p_psDBRunQueryF(config->dbh, query, faultClause)) {
-        psError(PS_ERR_UNKNOWN, false, "database error");
-        return false;
-    }
+        psFree(faultClause);
+        psFree(query);
+        psError(PS_ERR_UNKNOWN, false, "database error");
+        return false;
+    }
+
+    psFree(faultClause);
 
     return true;
@@ -1322,4 +1327,7 @@
         return false;
     }
+
+    PXOPT_LOOKUP_S16(fault,      config->args, "-fault",          false, false);
+
     psString query = pxDataGet("pstamptool_revertdependent.sql");
     if (!query) {
@@ -1333,4 +1341,10 @@
     psFree(where);
 
+    if (!fault) {
+        // unless asked to clear a specific fault value, restrict reverts to fault codes
+        // that are less than the minimum fault in the API
+        psStringAppend(&query, " AND (pstampDependent.fault < %d)", PSTAMP_FIRST_ERROR_CODE);
+    }
+
     if (!p_psDBRunQuery(config->dbh, query)) {
         psError(PS_ERR_UNKNOWN, false, "database error");
Index: /trunk/pstamp/src/pstamp.h
===================================================================
--- /trunk/pstamp/src/pstamp.h	(revision 28145)
+++ /trunk/pstamp/src/pstamp.h	(revision 28146)
@@ -9,4 +9,5 @@
 typedef enum {
         PSTAMP_SUCCESS          = 0,
+	PSTAMP_FIRST_ERROR_CODE = 10,
 	PSTAMP_SYSTEM_ERROR     = 10,
 	PSTAMP_NOT_IMPLEMENTED  = 11,
