Index: /branches/eam_branch_20090208/psphot/src/psphotFindPeaks.c
===================================================================
--- /branches/eam_branch_20090208/psphot/src/psphotFindPeaks.c	(revision 21450)
+++ /branches/eam_branch_20090208/psphot/src/psphotFindPeaks.c	(revision 21451)
@@ -21,7 +21,8 @@
     }
 
-    // correct the peak values to S/N = sqrt(significance)
-    // get the peak flux from the unsmoothed image
-    // the peak pixel coords are guaranteed to be on the image
+    // Convert the peak values to S/N = sqrt(significance).
+    // Get the peak flux from the unsmoothed image.
+    // Rescale the peak position errors using the peak variance
+    // The peak pixel coords are guaranteed to be on the image
     int row0 = readout->image->row0;
     int col0 = readout->image->col0;
@@ -30,4 +31,10 @@
         peak->SN = sqrt(peak->value);
         peak->flux = readout->image->data.F32[peak->y-row0][peak->x-col0];
+	if (readout->variance && isfinite (peak->dx)) {
+	    peak->dx *= sqrt(readout->variance->data.F32[peak->y-row0][peak->x-col0]);
+	}
+	if (readout->variance && isfinite (peak->dy)) {
+	    peak->dy *= sqrt(readout->variance->data.F32[peak->y-row0][peak->x-col0]);
+	}
     }
 
