Index: branches/pap/ppImage/src/ppImageReplaceBackground.c
===================================================================
--- branches/pap/ppImage/src/ppImageReplaceBackground.c	(revision 23948)
+++ branches/pap/ppImage/src/ppImageReplaceBackground.c	(revision 25027)
@@ -144,11 +144,15 @@
     for (int y = 0; y < numRows; y++) {
         for (int x = 0; x < numCols; x++) {
-            float value = backData[y][x];
-            if (!isfinite(value)) {
-                image->data.F32[y][x] = NAN;
-                mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->lowMask;
+            if (mask && mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] & maskVal) {
+                image->data.F32[y][x] = 0.0;
             } else {
-                image->data.F32[y][x] -= value;
-            }
+		float value = backData[y][x];
+		if (!isfinite(value)) {
+		    image->data.F32[y][x] = NAN;
+		    mask->data.PS_TYPE_IMAGE_MASK_DATA[y][x] |= options->lowMask;
+		} else {
+		    image->data.F32[y][x] -= value;
+		}
+	    }
         }
     }
