Index: /trunk/psphot/src/psphotReadout.c
===================================================================
--- /trunk/psphot/src/psphotReadout.c	(revision 13608)
+++ /trunk/psphot/src/psphotReadout.c	(revision 13609)
@@ -6,5 +6,5 @@
 
     // select the current recipe
-    psMetadata *recipe  = psMetadataLookupPtr (NULL, config->recipes, PSPHOT_RECIPE);
+    psMetadata *recipe = psMetadataLookupPtr (NULL, config->recipes, PSPHOT_RECIPE);
     if (!recipe) {
         psError(PSPHOT_ERR_CONFIG, false, "missing recipe %s", PSPHOT_RECIPE);
@@ -24,9 +24,17 @@
 
     // generate mask & weight images if they don't already exit
-    if ((!readout->mask && !pmReadoutGenerateMask(readout, pmConfigMask("SAT", config),
-                                                  pmConfigMask("BAD", config))) ||
-        (!readout->weight && !pmReadoutGenerateWeight(readout, true))) {
-        psError (PSPHOT_ERR_CONFIG, false, "trouble creating mask and/or weight");
-        return false;
+    psMaskType satMask = pmConfigMask("SAT", config);
+    psMaskType badMask = pmConfigMask("BAD", config);
+    if (!readout->mask) {
+	if (!pmReadoutGenerateMask(readout, satMask, badMask)) {
+	    psError (PSPHOT_ERR_CONFIG, false, "trouble creating mask");
+	    return false;
+	}
+    }
+    if (!readout->weight) {
+	if (!pmReadoutGenerateWeight(readout, true)) {
+	    psError (PSPHOT_ERR_CONFIG, false, "trouble creating weight");
+	    return false;
+	}
     }
 
