Index: /trunk/psphot/src/psphotMergeSources.c
===================================================================
--- /trunk/psphot/src/psphotMergeSources.c	(revision 38534)
+++ /trunk/psphot/src/psphotMergeSources.c	(revision 38535)
@@ -901,12 +901,17 @@
 	    psAssert (detections, "missing detections?");
 	}
-        pmSourceFitOptions *fitOptions = psMetadataLookupPtr (&status, readoutSrc->analysis, "PCM_FIT_OPTIONS");
-        psAssert (fitOptions, "missing pcm fit options");
-        psMetadataAddPtr (readout->analysis, PS_LIST_TAIL, "PCM_FIT_OPTIONS", PS_DATA_UNKNOWN | PS_META_REPLACE, "pcm fit options", fitOptions);
+        pmSourceFitOptions *fitOptions = NULL;
+        if (psMetadataLookupBool(&status, recipe, "EXTENDED_SOURCE_FITS")) {
+            fitOptions = psMetadataLookupPtr (&status, readoutSrc->analysis, "PCM_FIT_OPTIONS");
+            psAssert (fitOptions, "missing pcm fit options");
+            psMetadataAddPtr (readout->analysis, PS_LIST_TAIL, "PCM_FIT_OPTIONS", PS_DATA_UNKNOWN | PS_META_REPLACE, "pcm fit options", fitOptions);
+        }
 
 	// we need to save the new sources on the detection arrays of the appropriate image
 	detArrays->data[i] = psMemIncrRefCounter(detections);
 	readouts->data[i] = psMemIncrRefCounter(readout);
-        fitOptionsArray->data[i] = psMemIncrRefCounter(fitOptions);
+        if (fitOptions) {
+            fitOptionsArray->data[i] = psMemIncrRefCounter(fitOptions);
+        }
     }
 
Index: /trunk/psphot/src/psphotReplaceUnfit.c
===================================================================
--- /trunk/psphot/src/psphotReplaceUnfit.c	(revision 38534)
+++ /trunk/psphot/src/psphotReplaceUnfit.c	(revision 38535)
@@ -316,6 +316,9 @@
     }
 
-    pmSourceFitOptions *fitOptions = psMetadataLookupPtr (&status, readout->analysis, "PCM_FIT_OPTIONS");
-    psAssert (fitOptions, "missing pcm fit options");
+    pmSourceFitOptions *fitOptions = NULL;
+    if (psMetadataLookupBool (&status, recipe, "EXTENDED_SOURCE_FITS")) {
+        fitOptions = psMetadataLookupPtr (&status, readout->analysis, "PCM_FIT_OPTIONS");
+        psAssert (fitOptions, "missing pcm fit options");
+    }
 
     // XXX the sources have already been copied (merge into here?)
@@ -397,5 +400,4 @@
            pmPCMdata *pcm = pmPCMinit (source, fitOptions, model, maskVal, psfSize);
             if (pcm) {
-                // pmPCMMakeModel (source, model, pcm->nsigma, maskVal, psfSize);
                 pmPCMCacheModel (source, maskVal, psfSize, pcm->nsigma);
                 psFree(pcm);
