Index: /branches/eam_branches/ipp-20100823/ppSub/src/ppSubConvolve.c
===================================================================
--- /branches/eam_branches/ipp-20100823/ppSub/src/ppSubConvolve.c	(revision 29215)
+++ /branches/eam_branches/ipp-20100823/ppSub/src/ppSubConvolve.c	(revision 29216)
@@ -241,4 +241,15 @@
             psThreadPoolInit(threads);
         }
+
+	// Mask the NAN values (USE BLANK instead of SAT?)
+	if (!pmReadoutMaskInvalid(input, maskVal, maskBad)) {
+	  psError(PPSUB_ERR_DATA, false, "Unable to mask non-finite pixels in input.");
+	  return false;
+	}
+	if (!pmReadoutMaskInvalid(ref, maskVal, maskBad)) {
+	  psError(PPSUB_ERR_DATA, false, "Unable to mask non-finite pixels in reference.");
+	  return false;
+	}
+
         if (!pmSubtractionMatchPrecalc(inConv, refConv, input, ref, inRO->analysis,
                                        stride, kernelErr, covarFrac, maskVal, maskBad, maskPoor,
Index: /branches/eam_branches/ipp-20100823/ppSub/src/ppSubSetMasks.c
===================================================================
--- /branches/eam_branches/ipp-20100823/ppSub/src/ppSubSetMasks.c	(revision 29215)
+++ /branches/eam_branches/ipp-20100823/ppSub/src/ppSubSetMasks.c	(revision 29216)
@@ -77,14 +77,13 @@
     }
 
-    // Mask the NAN values
-    if (!pmReadoutMaskNonfinite(inRO, satValue)) {
+    // Mask the NAN values (USE BLANK instead of SAT?)
+    if (!pmReadoutMaskInvalid(inRO, maskValue, satValue)) {
         psError(PPSUB_ERR_DATA, false, "Unable to mask non-finite pixels in input.");
         return false;
     }
-    if (!pmReadoutMaskNonfinite(refRO, satValue)) {
+    if (!pmReadoutMaskInvalid(refRO, maskValue, satValue)) {
         psError(PPSUB_ERR_DATA, false, "Unable to mask non-finite pixels in reference.");
         return false;
     }
-
 
 #if 0
