Index: /tags/ipp-20120216/psModules/src/objects/pmSourceIO.c
===================================================================
--- /tags/ipp-20120216/psModules/src/objects/pmSourceIO.c	(revision 33463)
+++ /tags/ipp-20120216/psModules/src/objects/pmSourceIO.c	(revision 33464)
@@ -1071,5 +1071,5 @@
                     if (source->seq < 0) {
                         // This can happen cmf files that have been corrupted
-                        psError(PS_ERR_IO, true, "seq < 0 for source %ld in %s", i, file->origname);
+                        psError(PS_ERR_IO, true, "seq < 0 for source %ld: Suspect %s is corrupt", i, file->origname);
                         return false;
                     }
Index: /tags/ipp-20120216/psphot/src/psphotStackMatchPSFsPrepare.c
===================================================================
--- /tags/ipp-20120216/psphot/src/psphotStackMatchPSFsPrepare.c	(revision 33463)
+++ /tags/ipp-20120216/psphot/src/psphotStackMatchPSFsPrepare.c	(revision 33464)
@@ -32,7 +32,7 @@
 	pmDetections *detections = psMetadataLookupPtr(NULL, readout->analysis, "PSPHOT.DETECTIONS"); // Sources
 	if (!detections || !detections->allSources) {
-	    psWarning("No detections found for image %d --- rejecting.", index);
-	    options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[index] = 0x01;
-	    return true;  // XXX not an error: we continue processing other images
+            // An input must have sources. If we got here without any the input file was likely corrupt
+            psError(PSPHOT_ERR_IO, true, "Input %d has no sources.\n\tCheck all instances of: %s", index, inputSrc->origname);
+            return false;
 	}
 	psAssert (detections->allSources, "missing sources?");
