Index: /branches/eam_branches/ipp-20130711/pswarp/src/pswarpLoop.c
===================================================================
--- /branches/eam_branches/ipp-20130711/pswarp/src/pswarpLoop.c	(revision 36013)
+++ /branches/eam_branches/ipp-20130711/pswarp/src/pswarpLoop.c	(revision 36014)
@@ -54,5 +54,7 @@
     // We re-activate the CMF load so we can transform the sources as well as the pixels.
     // We only need to read in these if the astrometry source is CMF.
-    pmFPAfileActivate(config->files, true, "PSWARP.ASTROM");
+    if (psMetadataLookupBool(&status, recipe, "SOURCES")) {
+	pmFPAfileActivate(config->files, true, "PSWARP.ASTROM");
+    }
 
     // loop over this section once per input group
Index: /branches/eam_branches/ipp-20130711/pswarp/src/pswarpOverlaps.c
===================================================================
--- /branches/eam_branches/ipp-20130711/pswarp/src/pswarpOverlaps.c	(revision 36013)
+++ /branches/eam_branches/ipp-20130711/pswarp/src/pswarpOverlaps.c	(revision 36014)
@@ -117,4 +117,5 @@
 	psTrace ("pswarp", 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process);
 	// if (!chip->file_exists) { continue; } // this fpa refers to the output file, so no chip exist
+	if (!chip->toFPA) { continue; } // this fpa refers to the output file, so no chip exist
 	assert (chip->toFPA);
 	chip->process = true; // start with process true, we will de-activate later (pswarpFindOverlaps)
@@ -179,4 +180,9 @@
     for (int j = 0; j < output->chips->n; j++) {
 	pmChip *chip = output->chips->data[j];
+
+	if (!isfinite(tgt->Pmin->data.F32[j])) continue;
+	if (!isfinite(tgt->Pmax->data.F32[j])) continue;
+	if (!isfinite(tgt->Qmin->data.F32[j])) continue;
+	if (!isfinite(tgt->Qmax->data.F32[j])) continue;
 
 	// we have src bounds
