Index: trunk/psphot/src/apply_psf_model.c
===================================================================
--- trunk/psphot/src/apply_psf_model.c	(revision 4421)
+++ trunk/psphot/src/apply_psf_model.c	(revision 4574)
@@ -65,5 +65,10 @@
 	status = pmSourceFitModel (source, model, true);
 	psImageKeepCircle (source->mask, x, y, model->radius, AND, 0x7f);
-	if (!status) continue;
+	if (!status || (model->params->data.F32[1] < 0)) {
+	  // if the fit fails, we need to change the classification
+	  psLogMsg ("psphot", 3, "PSF fit failed for %f, %f (%d iterations)\n", x, y, model->nIter);
+	  source->type = PS_SOURCE_OTHER;  // better choice?
+	  continue;
+	}
 
 	source->modelPSF = model;
@@ -71,5 +76,5 @@
 	Nfit ++;
 
-	mark_psf_source (source, shapeNsigma);
+	mark_psf_source (source, shapeNsigma, SATURATE);
 	if (subtract_psf_source (source)) {
 	  Nsub ++;
