Index: trunk/psphot/src/psphotKronIterate.c
===================================================================
--- trunk/psphot/src/psphotKronIterate.c	(revision 32776)
+++ trunk/psphot/src/psphotKronIterate.c	(revision 32996)
@@ -111,10 +111,7 @@
 
         pmSource *source = sources->data[i];
-        if (!source->peak) continue; // XXX how can we have a peak-less source?
-
-        // allocate space for moments
-        if (!source->moments) continue;
 
 	// set a window function for each source based on the moments
+	// (this skips really bad sources (no peak, no moments, DEFECT)
 	psphotKronWindowSetSource (source, kronWindow, false, true);
     }
@@ -401,5 +398,8 @@
 
     if (!source) return false;
+    if (!source->peak) return false; // XXX how can we have a peak-less source?
     if (!source->moments) return false;
+    if (source->type == PM_SOURCE_TYPE_DEFECT) return false;
+    if (source->type == PM_SOURCE_TYPE_SATURATED) return false;
     psAssert(kronWindow, "need a window");
 
