Index: trunk/ippTools/src/warptool.c
===================================================================
--- trunk/ippTools/src/warptool.c	(revision 28054)
+++ trunk/ippTools/src/warptool.c	(revision 28055)
@@ -1181,25 +1181,29 @@
 	  return(false);
 	}
-	// Set warpRun.software_ver to the appropriate value
-	if (!pxSetRunSoftware(config, "warpRun", "warp_id", warp_id, software_ver)) {
-	  psError(PS_ERR_UNKNOWN, false, "failed to set warpRun.software_ver for warp_id: %" PRId64,
-		  warp_id);
-	  psFree(output);
-	  if (!psDBRollback(config->dbh)) {
-	    psError(PS_ERR_UNKNOWN, false, "database error");
+	// Set warpRun.software_ver to the appropriate value	if (
+	if (software_ver) {
+	  if (!pxSetRunSoftware(config, "warpRun", "warp_id", warp_id, software_ver)) {
+	    psError(PS_ERR_UNKNOWN, false, "failed to set warpRun.software_ver for warp_id: %" PRId64,
+		    warp_id);
+	    psFree(output);
+	    if (!psDBRollback(config->dbh)) {
+	      psError(PS_ERR_UNKNOWN, false, "database error");
+	    }
+	    return(false);
 	  }
-	  return(false);
 	}
 	// Set warpRun.maskfrac* to the appropriate values.
-	if (!pxSetRunMaskfrac(config, "warpRun", "warp_id", warp_id, maskfrac_npix, maskfrac_static,
-			      maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) {
-	  psError(PS_ERR_UNKNOWN, false, "failed to set warpRun.software_ver for warp_id: %" PRId64,
-		  warp_id);
-	  psFree(output);
-	  if (!psDBRollback(config->dbh)) {
-	    psError(PS_ERR_UNKNOWN, false, "database error");
+	if (maskfrac_npix) {
+	  if (!pxSetRunMaskfrac(config, "warpRun", "warp_id", warp_id, maskfrac_npix, maskfrac_static,
+				maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) {
+	    psError(PS_ERR_UNKNOWN, false, "failed to set warpRun.software_ver for warp_id: %" PRId64,
+		    warp_id);
+	    psFree(output);
+	    if (!psDBRollback(config->dbh)) {
+	      psError(PS_ERR_UNKNOWN, false, "database error");
+	    }
+	    return(false);
 	  }
-	  return(false);
-	}	
+	}
 
 	
