Index: trunk/psphot/src/subtract_psf_source.c
===================================================================
--- trunk/psphot/src/subtract_psf_source.c	(revision 4574)
+++ trunk/psphot/src/subtract_psf_source.c	(revision 4630)
@@ -7,12 +7,15 @@
 { 
   float sky;
+  psModel *model;
+  psImage *pixels;
 
-  // non-stellar sources are ignored
-  if (source->type == PS_SOURCE_OTHER) return (false);
-  if (source->type == PS_SOURCE_GALAXY) return (false);
-  if (source->type == PS_SOURCE_DEFECT) return (false);
-  if (source->type == PS_SOURCE_SATURATED) return (false);
+  // only subtract successful fits
+  if (source->type == PS_SOURCE_SATSTAR) goto valid;
+  if (source->type == PS_SOURCE_PSFSTAR) goto valid;
+  if (source->type == PS_SOURCE_GOODSTAR) goto valid;
+  return (false);
 
-  psModel *model = source->modelPSF;
+valid:
+  model = source->modelPSF;
   if (model == NULL) {
     psLogMsg ("psphot.subtract_psf_source", 2, "missing model for %f, %f\n", source->moments->x, source->moments->y);
@@ -20,5 +23,5 @@
   }	    
 
-  psImage *pixels = source->pixels;
+  pixels = source->pixels;
 
   // subtract object, leave local sky
