Index: /trunk/ppImage/src/ppImageSetMaskBits.c
===================================================================
--- /trunk/ppImage/src/ppImageSetMaskBits.c	(revision 23534)
+++ /trunk/ppImage/src/ppImageSetMaskBits.c	(revision 23535)
@@ -28,4 +28,8 @@
     // mask for below-range data  (default to RANGE if not defined)
     options->badMask = pmConfigMaskGet("LOW", config);
+    if (!options->badMask) {
+        // XXX look up old name for backward compatability
+        options->badMask = pmConfigMaskGet("BAD", config);
+    }
     psAssert (options->badMask, "low mask not set");
 
Index: /trunk/ppSub/src/ppSubSetMasks.c
===================================================================
--- /trunk/ppSub/src/ppSubSetMasks.c	(revision 23534)
+++ /trunk/ppSub/src/ppSubSetMasks.c	(revision 23535)
@@ -43,6 +43,10 @@
     psAssert(satValue, "SAT must be non-zero");
 
-    psImageMaskType badValue = pmConfigMaskGet("BAD", config);
-    psAssert(badValue, "BAD must be non-zero");
+    psImageMaskType lowValue = pmConfigMaskGet("LOW", config);
+    if (!lowValue) {
+        // Look up old name for backward compatability
+        lowValue = pmConfigMaskGet("BAD", config);
+    }
+    psAssert(lowValue, "LOW or BAD must be non-zero");
 
     // input images
@@ -58,5 +62,5 @@
     if (!inRO->mask) {
         if (psMetadataLookupBool(NULL, recipe, "MASK.GENERATE")) {
-            pmReadoutSetMask(inRO, satValue, badValue);
+            pmReadoutSetMask(inRO, satValue, lowValue);
         } else {
             inRO->mask = psImageAlloc(numCols, numRows, PS_TYPE_IMAGE_MASK);
@@ -66,5 +70,5 @@
     if (!refRO->mask) {
         if (psMetadataLookupBool(NULL, recipe, "MASK.GENERATE")) {
-            pmReadoutSetMask(refRO, satValue, badValue);
+            pmReadoutSetMask(refRO, satValue, lowValue);
         } else {
             refRO->mask = psImageAlloc(numCols, numRows, PS_TYPE_IMAGE_MASK);
Index: /trunk/psModules/src/camera/pmFPARead.c
===================================================================
--- /trunk/psModules/src/camera/pmFPARead.c	(revision 23534)
+++ /trunk/psModules/src/camera/pmFPARead.c	(revision 23535)
@@ -554,5 +554,9 @@
           }
           psFree(header);
-          bad = pmConfigMaskGet("BAD", config);
+          bad = pmConfigMaskGet("LOW", config);
+          if (!bad) {
+              // XXX look up old name for compatability
+              bad = pmConfigMaskGet("BAD", config);
+          }
           break;
       }
Index: /trunk/psphot/src/psphotMaskReadout.c
===================================================================
--- /trunk/psphot/src/psphotMaskReadout.c	(revision 23534)
+++ /trunk/psphot/src/psphotMaskReadout.c	(revision 23535)
@@ -12,5 +12,9 @@
     psMetadataAddImageMask (recipe, PS_LIST_TAIL, "MASK.SAT", PS_META_REPLACE, "user-defined mask", maskSat);
 
-    psImageMaskType maskBad  = pmConfigMaskGet("BAD", config); // Mask value for bad pixels
+    psImageMaskType maskBad  = pmConfigMaskGet("LOW", config); // Mask value for low pixels
+    if (!maskBad) {
+        // XXX: for backward compatability look up old name
+        maskBad  = pmConfigMaskGet("BAD", config);
+    }
     psMetadataAddImageMask (recipe, PS_LIST_TAIL, "MASK.BAD", PS_META_REPLACE, "user-defined mask", maskBad);
 
