Index: /tags/ipp-pv3-20140717/ippScripts/scripts/sc_prepare_chip.pl
===================================================================
--- /tags/ipp-pv3-20140717/ippScripts/scripts/sc_prepare_chip.pl	(revision 37348)
+++ /tags/ipp-pv3-20140717/ippScripts/scripts/sc_prepare_chip.pl	(revision 37349)
@@ -26,4 +26,5 @@
 
 my $fail_state = "prep_fail";
+my $hard_fail_state = "fail";
 
 # Look for programs we need
@@ -195,5 +196,14 @@
 
         # Process the image and burntool table
-        my ($ipp_uri, $remote_uri) = uri_to_outputs_raw($uri);
+	# IMAGE CHECK: Look up the image location, prove it exists, and if not, abort the prep for this object.
+        my ($ipp_uri, $remote_uri) = uri_convert($uri);
+	unless (-e $ipp_uri) {
+	    # This image file is missing, so it will require manual intervention.
+	    &my_die("Required image file $ipp_uri ($chip_id, $class_id) not found.  Stopping this prep.",
+		    $remote_id,$chip_id,$PS_EXIT_CONFIG_ERROR,$hard_fail_state);
+	}
+
+	# The image exists, so continue.  This resets the variables, but also outputs the file locations.
+	($ipp_uri, $remote_uri) = uri_to_outputs_raw($uri);
         my $btt = $uri;
         $btt =~ s/fits$/burn.tbl/;
@@ -212,5 +222,6 @@
 	    
 	    unless (-e $ipp_btt) {
-		&my_die("Attempted regeneration of burntool table has failed.  Stopping everything.", $remote_id,$chip_id, $PS_EXIT_CONFIG_ERROR, $fail_state);
+		&my_die("Attempted regeneration of burntool table ($chip_id, $class_id) has failed.  Stopping this prep.", 
+			$remote_id,$chip_id, $PS_EXIT_CONFIG_ERROR, $hard_fail_state);
 	    }
 	}
