Index: trunk/psModules/src/objects/pmSourcePhotometry.c
===================================================================
--- trunk/psModules/src/objects/pmSourcePhotometry.c	(revision 15000)
+++ trunk/psModules/src/objects/pmSourcePhotometry.c	(revision 15090)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA; GLG, MHPCC
  *
- *  @version $Revision: 1.32 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-09-24 21:27:58 $
+ *  @version $Revision: 1.33 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-09-29 00:15:51 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -99,8 +99,15 @@
     if (psf->FluxScale) {
 	double fluxScale = pmTrend2DEval (psf->FluxScale, x, y);
-	if (isfinite(fluxScale) && (fluxScale > 0.0)) {
-	    source->psfMag = -2.5*log10(fluxScale * source->modelPSF->params->data.F32[PM_PAR_I0]);
+	if (!isfinite(fluxScale)) {
+	    // XXX objects on the edge can be slightly outside -- if we get an 
+	    // error, use the full fit.
+	    psErrorClear();
+	    status = pmSourcePhotometryModel (&source->psfMag, source->modelPSF);
 	} else {
-	    source->psfMag = NAN;
+	    if (isfinite(fluxScale) && (fluxScale > 0.0)) {
+		source->psfMag = -2.5*log10(fluxScale * source->modelPSF->params->data.F32[PM_PAR_I0]);
+	    } else {
+		source->psfMag = NAN;
+	    }
 	}
     } else {
@@ -214,4 +221,5 @@
 	psTrace ("psModules.objects", 3, "fail mag : bad Ap Mag");
         psErrorCode last = psErrorCodeLast();
+	// XXX flag the object?
         if (last == PM_ERR_PHOTOM) {
             // the aper mag was undefined (flux < 0).  bad object, but
