Index: trunk/ippScripts/scripts/lap_science.pl
===================================================================
--- trunk/ippScripts/scripts/lap_science.pl	(revision 34313)
+++ trunk/ippScripts/scripts/lap_science.pl	(revision 34635)
@@ -671,4 +671,21 @@
 # 	}
 	# Do quality checks here
+	if ($verbose) {
+	    printf("TEST: %d %d %d\n",$exposure->{exp_id},$exposure->{chip_id},$exposure->{chip_component_count});
+	}
+	# Checks to ensure we do not divide by zero.  Mostly happens with old diffs, it seems.
+	if ($exposure->{chip_component_count} == 0) {
+	    $exposure->{chip_component_count} = 1;
+	}
+	if ($exposure->{cam_component_count} == 0) {
+	    $exposure->{cam_component_count} = 1;
+	}
+	if ($exposure->{warp_component_count} == 0) {
+	    $exposure->{warp_component_count} = 1;
+	}
+	if ($exposure->{diff_component_count} == 0) {
+	    $exposure->{diff_component_count} = 1;
+	}
+
 	my $is_bad_quality = 0;
 	if ((defined($exposure->{chipRun_state}))&&($exposure->{chipRun_state} eq 'full')&&
