Index: trunk/psModules/src/imcombine/pmStackReject.c
===================================================================
--- trunk/psModules/src/imcombine/pmStackReject.c	(revision 19345)
+++ trunk/psModules/src/imcombine/pmStackReject.c	(revision 19349)
@@ -19,4 +19,5 @@
     PM_STACK_MASK_BAD      = 0x01,      // Bad pixel
     PM_STACK_MASK_CONVOLVE = 0x02,      // Touching a bad pixel
+    PM_STACK_MASK_ALL      = 0xff,      // All mask bits
 } pmStackMask;
 
@@ -144,5 +145,5 @@
     }
 
-    psImage *mask = psPixelsToMask(NULL, in, psRegionSet(0, numCols - 1, 0, numRows - 1), 0x01); // Mask
+    psImage *mask = psPixelsToMask(NULL, in, psRegionSet(0, numCols - 1, 0, numRows - 1), 1); // Mask
     psImage *image = psImageCopy(NULL, mask, PS_TYPE_F32); // Floating-point version, so we can convolve
     psFree(mask);
@@ -233,5 +234,6 @@
     psImage *source = psPixelsToMask(NULL, bad, psRegionSet(0, numCols - 1, 0, numRows - 1),
                                      PM_STACK_MASK_BAD); // Mask image to grow
-    psImage *target = psImageRecycle(convolved, numCols, numRows, PS_TYPE_U8); // Grown image
+    psImage *target = psImageRecycle(convolved, numCols, numRows, PS_TYPE_MASK); // Grown image
+    psImageInit(target, 0);
     if (threaded) {
         psMutexInit(source);
@@ -276,5 +278,5 @@
                     psFree(job);
                 } else if (!stackRejectGrow(target, source, kernels, numCols, numRows,
-                                              i, xSubMax, j, ySubMax, poorFrac)) {
+                                            i, xSubMax, j, ySubMax, poorFrac)) {
                     psError(PS_ERR_UNKNOWN, false, "Unable to grow bad pixels.");
                     psFree(source);
@@ -297,5 +299,5 @@
     }
     psFree(source);
-    bad = psPixelsFromMask(bad, target, 0xff);
+    bad = psPixelsFromMask(bad, target, PM_STACK_MASK_ALL);
 
     return bad;
