Index: /trunk/psphot/src/psphotStackReadout.c
===================================================================
--- /trunk/psphot/src/psphotStackReadout.c	(revision 33957)
+++ /trunk/psphot/src/psphotStackReadout.c	(revision 33958)
@@ -317,7 +317,5 @@
     psphotExtendedSourceFits (config, view, STACK_SRC); // pass 1 (detections->allSources)
 
-    // create source children for the OUT filerule (for radial aperture photometry) 
-    // (These are not just for radial aperture photomoetry. If they aren't defined we
-    // get no sources output
+    // create source children for the OUT filerule (for radial aperture photometry and output) 
     psArray *objectsOut = psphotSourceChildrenByObject (config, view, STACK_OUT, objects);
     if (!objectsOut) {
@@ -332,5 +330,19 @@
         // measure circular, radial apertures (objects sorted by S/N)
         // this forces photometry on the undetected sources from other images
-        psphotRadialApertures (config, view, STACK_SRC, 0); // XXX entry 0 == unmatched?
+
+        // NOTE: we always do the radial apertures analysis on the convolved image since
+        // those are the ones that are psf matched and the source of STACK_OUT's pixels
+        // XXX: Actually if PSPHOT.STACK.MATCH.PSF.SOURCE were set to RAW this wouldn't be true.
+        // but in that case we don't get past the psf matching step because there is no
+        // target psf for the RAW inputs
+
+        // If useRaw copy the sources to the convolved readout
+        if (strcmp(STACK_SRC, STACK_CNV)) {
+            if (!psphotCopySources (config, view, STACK_CNV, STACK_SRC)) {
+                psError (PSPHOT_ERR_UNKNOWN, false, "failure in peak analysis");
+                return psphotReadoutCleanup (config, view, STACK_SRC);
+            }
+        }
+        psphotRadialApertures (config, view, STACK_CNV, 0); // XXX entry 0 == unmatched?
         psMemDump("extmeas");
 
