Index: trunk/pswarp/src/pswarpArguments.c
===================================================================
--- trunk/pswarp/src/pswarpArguments.c	(revision 13104)
+++ trunk/pswarp/src/pswarpArguments.c	(revision 13593)
@@ -102,19 +102,27 @@
 
         // Get mask parameters
-        psMaskType maskIn = psMetadataLookupU8(&status, recipe, "MASK.IN"); // Mask for input data
-        if (!status) {
+        psMaskType maskIn, maskPoor, maskBad; // Mask values for input, "poor" and "bad" pixels
+
+        psString maskNames = psMetadataLookupStr(&status, recipe, "MASK.IN");
+         if (!status) {
             maskIn = 0x00;
             psWarning("MASK.IN is not set in the %s recipe --- defaulting to %x.", PSWARP_RECIPE, maskIn);
         }
-        psMaskType maskPoor = psMetadataLookupU8(&status, recipe, "MASK.POOR"); // Mask for "poor" warped data
+        maskIn = pmConfigMask(maskNames, config); // Mask for input data
+
+        maskNames = psMetadataLookupStr(&status, recipe, "MASK.POOR");
         if (!status) {
             maskPoor = 0x00;
             psWarning("MASK.POOR is not set in the %s recipe --- defaulting to %x.", PSWARP_RECIPE, maskPoor);
         }
-        psMaskType maskBad = psMetadataLookupU8(&status, recipe, "MASK.IN"); // Mask for bad warped data
+        maskPoor = pmConfigMask(maskNames, config); // Mask for "poor" warped data
+
+        maskNames = psMetadataLookupStr(&status, recipe, "MASK.BAD");
         if (!status) {
             maskBad = 0x00;
             psWarning("MASK.BAD is not set in the %s recipe --- defaulting to %x.", PSWARP_RECIPE, maskBad);
         }
+        maskBad = pmConfigMask(maskNames, config); // Mask for bad warped data
+
         float poorFrac = psMetadataLookupF32(&status, recipe, "POOR.FRAC"); // Frac of bad flux for a "poor"
         if (!status) {
