Index: trunk/psphot/src/psphotSourceFits.c
===================================================================
--- trunk/psphot/src/psphotSourceFits.c	(revision 21183)
+++ trunk/psphot/src/psphotSourceFits.c	(revision 21519)
@@ -120,5 +120,6 @@
         pmSourceCacheModel (blend, maskVal);
         pmSourceSub (blend, PM_MODEL_OP_FULL, maskVal);
-        blend->mode |=  PM_SOURCE_MODE_SUBTRACTED;
+        blend->tmpFlags |=  PM_SOURCE_TMPF_SUBTRACTED;
+        blend->mode |=  PM_SOURCE_MODE_BLEND_FIT;
     }
     NfitBlend += modelSet->n;
@@ -143,5 +144,6 @@
     pmSourceCacheModel (source, maskVal);
     pmSourceSub (source, PM_MODEL_OP_FULL, maskVal);
-    source->mode |=  PM_SOURCE_MODE_SUBTRACTED;
+    source->tmpFlags |=  PM_SOURCE_TMPF_SUBTRACTED;
+    source->mode |=  PM_SOURCE_MODE_BLEND_FIT;
     return true;
 }
@@ -184,5 +186,5 @@
     pmSourceCacheModel (source, maskVal);
     pmSourceSub (source, PM_MODEL_OP_FULL, maskVal);
-    source->mode |=  PM_SOURCE_MODE_SUBTRACTED;
+    source->tmpFlags |=  PM_SOURCE_TMPF_SUBTRACTED;
     return true;
 }
@@ -285,5 +287,5 @@
     pmSourceCacheModel (source, maskVal);
     pmSourceSub (source, PM_MODEL_OP_FULL, maskVal);
-    source->mode |=  PM_SOURCE_MODE_SUBTRACTED;
+    source->tmpFlags |=  PM_SOURCE_TMPF_SUBTRACTED;
     psTrace ("psphot", 5, "blob as EXT: %f %f\n", EXT->params->data.F32[PM_PAR_XPOS], EXT->params->data.F32[PM_PAR_YPOS]);
     return true;
@@ -296,6 +298,6 @@
     psFree (source->modelPSF);
     source->modelPSF = psMemIncrRefCounter (DBL->data[0]);
-    source->mode    |= PM_SOURCE_MODE_SUBTRACTED;
-    source->mode    |= PM_SOURCE_MODE_PAIR;
+    source->tmpFlags |= PM_SOURCE_TMPF_SUBTRACTED;
+    source->mode     |= PM_SOURCE_MODE_PAIR;
 
     // copy most data from the primary source (modelEXT, blends stay NULL)
