Index: trunk/psphot/src/psphotReadout.c
===================================================================
--- trunk/psphot/src/psphotReadout.c	(revision 17112)
+++ trunk/psphot/src/psphotReadout.c	(revision 17396)
@@ -117,6 +117,5 @@
     psphotFitSourcesLinear (readout, sources, recipe, psf, FALSE);
 
-    // XXX test the CR/EXT measurement
-    // XXX we need to call this here and after the second pass: option for starting number?
+    // identify CRs and extended sources
     psphotSourceSize (readout, sources, recipe, 0);
     if (!strcasecmp (breakPt, "ENSEMBLE")) {
@@ -127,11 +126,13 @@
     psphotBlendFit (readout, sources, recipe, psf);
 
-    // replace all sources (make this part of psphotFitSourcesLinear?)
+    // replace all sources
     psphotReplaceAll (sources, recipe);
 
     // linear fit to include all sources
     psphotFitSourcesLinear (readout, sources, recipe, psf, TRUE);
+
+    // if we only do one pass, skip to extended source analysis
     if (!strcasecmp (breakPt, "PASS1")) {
-        goto finish;
+        goto pass1finish;
     }
 
@@ -145,7 +146,8 @@
     psphotAddNoise (readout, sources, recipe);
 
+    // find fainter sources (pass 2)
     detections = psphotFindDetections (detections, readout, recipe);
 
-    // remove noise for subtracted objects
+    // remove noise for subtracted objects (ie, return to normal noise level)
     psphotSubNoise (readout, sources, recipe);
 
@@ -172,8 +174,12 @@
     psphotFitSourcesLinear (readout, sources, recipe, psf, TRUE);
 
+pass1finish:
+
     // measure source size for the remaining sources
     psphotSourceSize (readout, sources, recipe, 0);
 
-    psphotExtendedSources (readout, sources, recipe);
+    psphotExtendedSourceAnalysis (readout, sources, recipe);
+
+    psphotExtendedSourceFits (readout, sources, recipe);
 
 finish:
