Index: trunk/ppStack/src/ppStackCamera.c
===================================================================
--- trunk/ppStack/src/ppStackCamera.c	(revision 13528)
+++ trunk/ppStack/src/ppStackCamera.c	(revision 13613)
@@ -35,9 +35,4 @@
 
         psString mask = psMetadataLookupStr(NULL, input, "MASK"); // Name of mask
-        if (!mask || strlen(mask) == 0) {
-            psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Component %s lacks MASK of type STR", item->name);
-            psFree(iter);
-            return false;
-        }
 
         float seeing = psMetadataLookupF32(NULL, input, "SEEING"); // Seeing FWHM
@@ -80,20 +75,22 @@
         }
 
-        // Add the mask file
-        psArray *maskFiles = psArrayAlloc(1); // Array of filenames for this FPA
-        maskFiles->data[0] = psMemIncrRefCounter(mask);
-        psMetadataAddArray(config->arguments, PS_LIST_TAIL, "MASK.FILENAMES", PS_META_REPLACE,
-                           "Filenames of mask files", maskFiles);
-        psFree(maskFiles);
+        // Optionally add the mask file
+        if (mask && strlen(mask) > 0) {
+            psArray *maskFiles = psArrayAlloc(1); // Array of filenames for this FPA
+            maskFiles->data[0] = psMemIncrRefCounter(mask);
+            psMetadataAddArray(config->arguments, PS_LIST_TAIL, "MASK.FILENAMES", PS_META_REPLACE,
+                               "Filenames of mask files", maskFiles);
+            psFree(maskFiles);
 
-	bool status;
-        pmFPAfile *maskFile = pmFPAfileBindFromArgs(&status, imageFile, config, "PPSTACK.INPUT.MASK", "MASK.FILENAMES");
-	if (!status) {
-            psError(PS_ERR_UNKNOWN, false, "Unable to define file from mask %d (%s)", i, mask);
-            return false;
-        }
-        if (maskFile->type != PM_FPA_FILE_MASK) {
-            psError(PS_ERR_IO, true, "PPSTACK.INPUT.MASK is not of type MASK");
-            return false;
+            bool status;
+            pmFPAfile *maskFile = pmFPAfileBindFromArgs(&status, imageFile, config, "PPSTACK.INPUT.MASK", "MASK.FILENAMES");
+            if (!status) {
+                psError(PS_ERR_UNKNOWN, false, "Unable to define file from mask %d (%s)", i, mask);
+                return false;
+            }
+            if (maskFile->type != PM_FPA_FILE_MASK) {
+                psError(PS_ERR_IO, true, "PPSTACK.INPUT.MASK is not of type MASK");
+                return false;
+            }
         }
 
