Index: /trunk/psphot/src/psphotEvalPSF.c
===================================================================
--- /trunk/psphot/src/psphotEvalPSF.c	(revision 11166)
+++ /trunk/psphot/src/psphotEvalPSF.c	(revision 11167)
@@ -32,10 +32,11 @@
 static float PSF_DSY_STDEV;
 
-bool psphotInitLimitsPSF (psMetadata *recipe) {
+bool psphotInitLimitsPSF (psMetadata *recipe, pmReadout *readout) {
 
     bool status;
 
-    // we may set this differently here from the value used to mark likely saturated stars
-    SATURATION       = psMetadataLookupF32 (&status, recipe, "SATURATION");
+    // XXX do we need to set this differently from the value used to mark saturated pixels?
+    pmCell *cell     = readout->parent;
+    SATURATION       = psMetadataLookupF32 (&status, cell->concepts, "CELL.SATURATION");
     PSF_MIN_SN       = psMetadataLookupF32 (&status, recipe, "PSF_MIN_SN");
     PSF_MAX_CHI      = psMetadataLookupF32 (&status, recipe, "PSF_MAX_CHI");
@@ -201,5 +202,5 @@
     // remember: fit does not use saturated pixels (masked)
     // XXX no extended object can saturate and stay extended...
-    if (model->params->data.F32[1] >= SATURATION) {
+    if (model->params->data.F32[PM_PAR_I0] >= SATURATION) {
 	if (source->mode & PM_SOURCE_MODE_PSFSTAR) {
 	    psLogMsg ("psphot", 5, "PSFSTAR marked SATSTAR\n");
@@ -210,5 +211,5 @@
 
     // if the object has a fitted peak below 0, the fit did not converge cleanly
-    if (model->params->data.F32[1] <= 0) {
+    if (model->params->data.F32[PM_PAR_I0] <= 0) {
 	source->mode |= PM_SOURCE_MODE_FAIL;
 	return false;
