Index: trunk/ippTools/src/regtool.c
===================================================================
--- trunk/ippTools/src/regtool.c	(revision 27153)
+++ trunk/ippTools/src/regtool.c	(revision 27168)
@@ -1356,9 +1356,4 @@
   PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
 
-  psString query = pxDataGet("regtool_updatebyquery.sql");
-  if (!query) {
-    psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
-    return(false);
-  }
   psString limitString = NULL;
   if (limit) {
@@ -1366,4 +1361,11 @@
     psStringPrepend(&limitString, "\n");
   }
+  // Update the imfiles first, because if you select by state, you'll clobber things
+  psString query = pxDataGet("regtool_updatebyqueryimfile.sql");
+  if (!query) {
+    psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
+    return(false);
+  }
+
   //  printf(query,set_state,whereClause,limitString);
   if (!p_psDBRunQueryF(config->dbh, query, set_state, whereClause, limitString ? limitString : "")) {
@@ -1377,6 +1379,6 @@
 
   psFree(query);
-  // Now up date the imfiles.
-  query = pxDataGet("regtool_updatebyqueryimfile.sql");
+  // Now up date the exposure.
+  query = pxDataGet("regtool_updatebyquery.sql");  
   if (!query) {
     psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
