Index: /branches/eam_branches/ipp-dev-20210817/Ohana/src/opihi/cmd.data/vstats.c
===================================================================
--- /branches/eam_branches/ipp-dev-20210817/Ohana/src/opihi/cmd.data/vstats.c	(revision 41823)
+++ /branches/eam_branches/ipp-dev-20210817/Ohana/src/opihi/cmd.data/vstats.c	(revision 41824)
@@ -88,9 +88,9 @@
       mask[i] = 0; // do not mask unless we have a reason below
       if (tvec) {
-	// note the logical vector is 0 == bad (ignore)
+	// note the logical vector is 0 == bad (ignore) while mask[i] has the opposite sense (0 is good)
 	mask[i] = (tvec->type == OPIHI_FLT) ? (tvec->elements.Flt[i] == 0.0) : (tvec->elements.Int[i] == 0);
       }
-      if (!finite (*X)) { mask[i] = 0; }
-      if (Ignore && (*X == IgnoreValue)) { mask[i] = 0; }
+      if (!finite (*X)) { mask[i] = 1; }
+      if (Ignore && (*X == IgnoreValue)) { mask[i] = 1; }
     }      
   } else {
@@ -99,9 +99,9 @@
       mask[i] = 0; // do not mask unless we have a reason below
       if (tvec) {
-	// note the logical vector is 0 == bad (ignore)
+	// note the logical vector is 0 == bad (ignore) while mask[i] has the opposite sense (0 is good)
 	mask[i] = (tvec->type == OPIHI_FLT) ? (tvec->elements.Flt[i] == 0.0) : (tvec->elements.Int[i] == 0);
       }
-      if (!finite (*X)) { mask[i] = 0; }
-      if (Ignore && (*X == IgnoreValue)) { mask[i] = 0; }
+      if (!finite (*X)) { mask[i] = 1; }
+      if (Ignore && (*X == IgnoreValue)) { mask[i] = 1; }
     }      
   }
