Index: /tags/ipp-test-20130524/pswarp/src/pswarpLoadAstrometry.c
===================================================================
--- /tags/ipp-test-20130524/pswarp/src/pswarpLoadAstrometry.c	(revision 35621)
+++ /tags/ipp-test-20130524/pswarp/src/pswarpLoadAstrometry.c	(revision 35622)
@@ -38,4 +38,8 @@
 	psTrace ("pswarp", 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process);
 	if (!chip->process || !chip->file_exists) { continue; }
+        pmChip *targetChip = pmFPAviewThisChip(view, target->fpa); // < Chip in the output
+	if (!targetChip || !targetChip->process || !targetChip->file_exists) {
+            continue; // only load astrometry into output chips which exist!
+        }
 	if (!pmFPAfileRead (astrom, view, config)) {
 	    psError(psErrorCodeLast(), false, "failed READ at CHIP %s", astrom->name);
@@ -109,4 +113,9 @@
 	if (!chip->process || !chip->file_exists) { continue; }
 
+        pmChip *targetChip = pmFPAviewThisChip(view, target->fpa); // < Chip in the output
+	if (!targetChip || !targetChip->process || !targetChip->file_exists) {
+            continue; // only load astrometry into output chips which exist!
+        }
+
 	// we've got the astrom header
 	pmHDU *hdu = pmHDUFromChip(chip); ///< HDU for source
@@ -116,8 +125,4 @@
 	    return false;
 	}
-
-	// We read from the astrometry source into the target.
-	pmChip *targetChip = pmFPAviewThisChip(view, target->fpa); ///< Chip in the output
-	if (!targetChip) continue; // only load astrometry into output chips which exist!
 
 	if (bilevelAstrometry) {
