Index: /trunk/psphot/src/psphotApResid.c
===================================================================
--- /trunk/psphot/src/psphotApResid.c	(revision 9515)
+++ /trunk/psphot/src/psphotApResid.c	(revision 9516)
@@ -87,4 +87,10 @@
 	      psTimerMark ("psphot"), Npsf, Nskip, Nfail, sources->n - Npsf - Nskip - Nfail);
 
+    // XXX choose a better value here?
+    if (Npsf < 5) {
+	psError(PSPHOT_ERR_APERTURE, true, "no valid aperture residual sources, giving up");
+	return false;
+    }
+
     // APTREND options : NONE SKYBIAS XY_LIN XY_QUAD SKY_XY_LIN FULL 
     char *ApTrendOption = psMetadataLookupPtr (&status, recipe, "APTREND");
