Index: trunk/psModules/src/camera/pmFPABin.c
===================================================================
--- trunk/psModules/src/camera/pmFPABin.c	(revision 21183)
+++ trunk/psModules/src/camera/pmFPABin.c	(revision 24003)
@@ -28,10 +28,17 @@
     int numColsOut = binning->nXruff, numRowsOut = binning->nYruff; // Size of output image
 
-    // Output image
-    psImage *outImage;
+
+    psImage *outImage;                  // Output image
     if (out->image && out->image->numCols >= numColsOut && out->image->numRows >= numRowsOut) {
         outImage = out->image;
     } else {
         outImage = out->image = psImageRecycle(out->image,  numColsOut, numRowsOut, PS_TYPE_F32);
+    }
+
+    psImage *outMask;                   // Output mask
+    if (out->mask && out->mask->numCols >= numColsOut && out->mask->numRows >= numRowsOut) {
+        outMask = out->mask;
+    } else {
+        outMask = out->mask = psImageRecycle(out->mask,  numColsOut, numRowsOut, PS_TYPE_IMAGE_MASK);
     }
 
@@ -58,5 +65,14 @@
             }
 
-            outImage->data.F32[yOut][xOut] = numPix > 0 ? sum / numPix : NAN;
+            float imageValue, maskValue;// Values to set
+            if (numPix > 0) {
+                imageValue = sum / numPix;
+                maskValue = 0;
+            } else {
+                imageValue = NAN;
+                maskValue = maskVal;
+            }
+            outImage->data.F32[yOut][xOut] = imageValue;
+            outMask->data.PS_TYPE_IMAGE_MASK_DATA[yOut][xOut] = maskValue;
             xStart = xStop;
         }
