Index: /branches/eam_branches/ipp-20150625/Ohana/src/dvomerge/src/dvoverify_utils.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/dvomerge/src/dvoverify_utils.c	(revision 38730)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/dvomerge/src/dvoverify_utils.c	(revision 38731)
@@ -224,5 +224,5 @@
   
 # define CHECK_TABLE(NAME) {						\
-    int Ntotal = 0; int offsetOK = TRUE;				\
+    int Ntotal = 0; int offsetOK = TRUE; int isOK = FALSE;		\
     for (i = 0; i < catalog.Naverage; i++) {				\
       Ntotal += catalog.average[i].N##NAME;				\
@@ -230,10 +230,12 @@
 	fprintf (stderr, "Ntotal (%s) > catalog.N##NAME: %d %d %d\n", #NAME, i, catalog.average[i].N##NAME, (int) catalog.N##NAME); \
       }									\
-      offsetOK &= (catalog.average[i].NAME##Offset < catalog.N##NAME); \
-      if (VERBOSE && !(catalog.average[i].NAME##Offset < catalog.N##NAME)) { \
+      isOK = (catalog.average[i].N##NAME == 0) || (catalog.average[i].NAME##Offset < catalog.N##NAME); \
+      offsetOK &= isOK;							\
+      if (VERBOSE && !isOK) {						\
 	fprintf (stderr, "%sOffset >= catalog.N%s: %d %d %d\n", #NAME, #NAME, i, catalog.average[i].NAME##Offset, (int) catalog.N##NAME); \
       }									\
-      offsetOK &= (catalog.average[i].NAME##Offset + catalog.average[i].N##NAME <= catalog.N##NAME); \
-      if (VERBOSE && !(catalog.average[i].NAME##Offset + catalog.average[i].N##NAME <= catalog.N##NAME)) { \
+      isOK = (catalog.average[i].N##NAME == 0) || (catalog.average[i].NAME##Offset + catalog.average[i].N##NAME < catalog.N##NAME); \
+      offsetOK &= isOK;							\
+      if (VERBOSE && !isOK) {						\
 	fprintf (stderr, "%sOffset + N%s > catalog.N%s : %d %d %d\n", #NAME, #NAME, #NAME, i, catalog.average[i].N##NAME, (int) catalog.N##NAME); \
       } }								\
