Index: trunk/ppSub/src/ppSubLoop.c
===================================================================
--- trunk/ppSub/src/ppSubLoop.c	(revision 18559)
+++ trunk/ppSub/src/ppSubLoop.c	(revision 18591)
@@ -14,9 +14,4 @@
 bool ppSubLoop(pmConfig *config)
 {
-    // Value to mask
-    psMaskType maskBlank = pmConfigMaskGet(psMetadataLookupStr(NULL, config->arguments, "MASK.BLANK"), config) |
-        pmConfigMaskGet(psMetadataLookupStr(NULL, config->arguments, "MASK.BAD"),
-                     config); // Mask for subtracted image
-
     bool mdok;                          // Status of MD lookup
     const char *statsName = psMetadataLookupStr(&mdok, config->arguments, "STATS"); // Filename for statistics
@@ -34,4 +29,9 @@
         }
         psFree(resolved);
+    }
+
+    if (!pmConfigMaskSetBits(NULL, NULL, config)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to determine mask value.");
+        return false;
     }
 
@@ -147,5 +147,5 @@
                     return false;
                 }
-                ppStatsFPA(stats, output->fpa, view, maskBlank, config);
+                ppStatsFPA(stats, output->fpa, view, pmConfigMaskGet("BLANK", config), config);
             }
 
