Index: trunk/ippTools/src/disttool.c
===================================================================
--- trunk/ippTools/src/disttool.c	(revision 34234)
+++ trunk/ippTools/src/disttool.c	(revision 34235)
@@ -743,4 +743,5 @@
 
     query = "DELETE FROM distComponent where dist_id = %" PRId64;
+    char *query2 =  "DELETE from rcDSFileset using distRun, rcDSFileset WHERE distRun.dist_id = rcDSFileset.dist_id AND rcDSFileset.state ='cleaned' AND dist_id = %" PRId64;
     
     for (long i=0; i < psArrayLength(output); i++) {
@@ -753,5 +754,15 @@
         }
 
+        // delete any existing distComponents
         if (!p_psDBRunQueryF(config->dbh, query, dist_id)) {
+            psError(PS_ERR_UNKNOWN, false, "database error");
+            psFree(query);
+            if (!psDBRollback(config->dbh)) {
+                psError(PS_ERR_UNKNOWN, false, "database error");
+            }
+            return false;
+        }
+        // delete any exisiting fileset
+        if (!p_psDBRunQueryF(config->dbh, query2, dist_id)) {
             psError(PS_ERR_UNKNOWN, false, "database error");
             psFree(query);
