Index: /branches/eam_branches/ipp-20100621/Ohana/src/libdvo/include/dvo.h
===================================================================
--- /branches/eam_branches/ipp-20100621/Ohana/src/libdvo/include/dvo.h	(revision 28890)
+++ /branches/eam_branches/ipp-20100621/Ohana/src/libdvo/include/dvo.h	(revision 28891)
@@ -154,4 +154,8 @@
   ID_STAR_USE_PM  = 0x00100000, // proper motion used (not AVE or PAR)
   ID_STAR_USE_PAR = 0x00200000, // parallax used (not AVE or PM)
+  ID_OBJ_EXT      = 0x01000000, // extended in our data (eg, PS)
+  ID_OBJ_EXT_ALT  = 0x02000000, // extended in external data (eg, 2MASS)
+  ID_OBJ_GOOD     = 0x04000000, // good-quality measurement in our data (eg, PS)
+  ID_OBJ_GOOD_ALT = 0x08000000, // good-quality measurement in external data (eg, 2MASS)
 } DVOAverageFlags;
 
Index: /branches/eam_branches/ipp-20100621/Ohana/src/relphot/src/StarOps.c
===================================================================
--- /branches/eam_branches/ipp-20100621/Ohana/src/relphot/src/StarOps.c	(revision 28890)
+++ /branches/eam_branches/ipp-20100621/Ohana/src/relphot/src/StarOps.c	(revision 28891)
@@ -188,4 +188,7 @@
   StatType stats;
   PhotCode *code;
+  DVOAverageFlags flagBits;
+
+  flagBits = ID_OBJ_EXT | ID_OBJ_EXT_ALT | ID_OBJ_GOOD | ID_OBJ_GOOD_ALT;
 
   // pre-allocate a list for stats purposes
@@ -281,15 +284,18 @@
 	}
 
+	// we attempt to set a few flags here; reset those bits before trying:
+	catalog[i].average[j].flags &= ~flagBits;
+
 	if (nEXT && (nEXT > nPSF)) {
-	  catalog[i].average[j].flags |= 0x00010000;
+	  catalog[i].average[j].flags |= ID_OBJ_EXT;
 	}
 	if (goodPS1) {
-	  catalog[i].average[j].flags |= 0x00020000;
+	  catalog[i].average[j].flags |= ID_OBJ_GOOD;
 	}
 	if (Galaxy2MASS) {
-	  catalog[i].average[j].flags |= 0x00040000;
+	  catalog[i].average[j].flags |= ID_OBJ_EXT_ALT;
 	}
 	if (good2MASS) {
-	  catalog[i].average[j].flags |= 0x00080000;
+	  catalog[i].average[j].flags |= ID_OBJ_GOOD_ALT;
 	}
       }
