Index: /branches/eam_branches/20100225/psModules/src/objects/pmSourceMoments.c
===================================================================
--- /branches/eam_branches/20100225/psModules/src/objects/pmSourceMoments.c	(revision 27263)
+++ /branches/eam_branches/20100225/psModules/src/objects/pmSourceMoments.c	(revision 27264)
@@ -163,8 +163,10 @@
     }
 
-    // if we have less than (1/2) of the possible pixels, force a retry
+    // if we have less than (1/4) of the possible pixels (in circle or box), force a retry
+    int minPixels = PS_MIN(0.75*R2, source->pixels->numCols*source->pixels->numRows/4.0);
+
     // XXX EAM - the limit is a bit arbitrary.  make it user defined?
-    if ((numPixels < 0.75*R2) || (Sum <= 0)) {
-	psTrace ("psModules.objects", 3, "insufficient valid pixels (%d vs %d; %f) for source\n", numPixels, (int)(0.75*R2), Sum);
+    if ((numPixels < minPixels) || (Sum <= 0)) {
+	psTrace ("psModules.objects", 3, "insufficient valid pixels (%d vs %d; %f) for source\n", numPixels, minPixels, Sum);
 	return (false);
     }
