Index: trunk/psModules/src/objects/pmSourceOutputs.c
===================================================================
--- trunk/psModules/src/objects/pmSourceOutputs.c	(revision 31153)
+++ trunk/psModules/src/objects/pmSourceOutputs.c	(revision 31451)
@@ -98,12 +98,13 @@
 	outputs->xPos = PAR[PM_PAR_XPOS];
 	outputs->yPos = PAR[PM_PAR_YPOS];
-	if (source->mode & PM_SOURCE_MODE_NONLINEAR_FIT) {
+	if ((source->mode & PM_SOURCE_MODE_NONLINEAR_FIT) && !(source->mode & PM_SOURCE_MODE_EXTMODEL)) {
+	    // we only do non-linear PSF fits for non-extended objects
 	    outputs->xErr = dPAR[PM_PAR_XPOS];
 	    outputs->yErr = dPAR[PM_PAR_YPOS];
 	} else {
-	    outputs->xErr = fwhmMajor * source->errMag / 2.35;
-	    outputs->yErr = fwhmMinor * source->errMag / 2.35;
+	    outputs->xErr = fwhmMajor * source->psfMagErr / 2.35;
+	    outputs->yErr = fwhmMinor * source->psfMagErr / 2.35;
 	}
-	if (isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXX])) {
+	if (isfinite(PAR[PM_PAR_SXX]) && isfinite(PAR[PM_PAR_SXY]) && isfinite(PAR[PM_PAR_SYY])) {
 	    axes = pmPSF_ModelToAxes (PAR, 20.0);
 	    outputs->psfMajor = axes.major;
@@ -125,6 +126,6 @@
 	    outputs->xPos = source->moments->Mx;
 	    outputs->yPos = source->moments->My;
-	    outputs->xErr = fwhmMajor * source->errMag / 2.35;
-	    outputs->yErr = fwhmMinor * source->errMag / 2.35;
+	    outputs->xErr = fwhmMajor * source->psfMagErr / 2.35;
+	    outputs->yErr = fwhmMinor * source->psfMagErr / 2.35;
 	} else {
 	    outputs->xPos = source->peak->xf;
