Index: trunk/psphot/src/psphotStackParseCamera.c
===================================================================
--- trunk/psphot/src/psphotStackParseCamera.c	(revision 30624)
+++ trunk/psphot/src/psphotStackParseCamera.c	(revision 31154)
@@ -172,4 +172,23 @@
     }
 
+    // select the appropriate recipe information
+    psMetadata *recipe  = psMetadataLookupPtr (&status, config->recipes, PSPHOT_RECIPE);
+    bool saveCnv = psMetadataLookupBool(&status, recipe, "SAVE.CNV");
+    bool saveChisq = psMetadataLookupBool(&status, recipe, "SAVE.CHISQ");
+
+    // loop over the available readouts
+    for (int i = 0; i < nInputs; i++) {
+	pmFPAfile *file = NULL;
+
+	file = pmFPAfileSelectSingle(config->files, "PSPHOT.STACK.OUTPUT.IMAGE", i);
+	file->save = saveCnv;
+
+	file = pmFPAfileSelectSingle(config->files, "PSPHOT.STACK.OUTPUT.MASK", i);
+	file->save = saveCnv;
+
+	file = pmFPAfileSelectSingle(config->files, "PSPHOT.STACK.OUTPUT.VARIANCE", i);
+	file->save = saveCnv;
+    }
+
     // generate an pmFPAimage for the chisqImage
     // XXX output of these files should be optional
@@ -180,5 +199,5 @@
 	    return false;
 	}
-	chisqImage->save = true;
+	chisqImage->save = saveChisq;
 
 	pmFPAfile *chisqMask = pmFPAfileDefineOutput(config, chisqImage->fpa, "PSPHOT.CHISQ.MASK");
@@ -191,5 +210,5 @@
 	    return NULL;
 	}
-	chisqMask->save = true;
+	chisqMask->save = saveChisq;
 
 	pmFPAfile *chisqVariance = pmFPAfileDefineOutput(config, chisqImage->fpa, "PSPHOT.CHISQ.VARIANCE");
@@ -202,5 +221,5 @@
 	    return NULL;
 	}
-	chisqVariance->save = true;
+	chisqVariance->save = saveChisq;
     }
 
