Index: trunk/psphot/src/source_moments.c
===================================================================
--- trunk/psphot/src/source_moments.c	(revision 4215)
+++ trunk/psphot/src/source_moments.c	(revision 4216)
@@ -17,10 +17,13 @@
     sources->n = 0;
 
-    // this should use ROBUST not SAMPLE median, but it is broken
     for (int i = 0; i < peaks->n; i++) {
-	// provide the user arguments as metadata?
-	psSource *source  = pmSourceDefinePixels (imdata, (psPeak *)peaks->data[i], OUTER);
-	if (source == NULL) continue;
+	// create a new source, add peak
+	psSource *source = pmSourceAlloc();
+	source->peak = (psPeak *)peaks->data[i];
 
+	// allocate image, noise, mask arrays for each peak (square of radius OUTER)
+	pmSourceDefinePixels (source, imdata, source->peak->x, source->peak->y, OUTER);
+
+	// this should use ROBUST not SAMPLE median, but it is broken
 	pmSourceLocalSky_EAM (source, PS_STAT_SAMPLE_MEDIAN, INNER);
 	pmSourceMoments (source, RADIUS);
