Index: trunk/psphot/src/psphotMergeSources.c
===================================================================
--- trunk/psphot/src/psphotMergeSources.c	(revision 38515)
+++ 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);
+        }
     }
 
