Index: /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches.c	(revision 12012)
@@ -15,5 +15,5 @@
 
   /* photcode data - must by of type DEP; options.photcode is equiv PRI/SEC photcode */
-  /* this function requires incoming stars to have the same photcode.equiv value */
+  /* this function requires incoming stars to have the same (valid!) photcode.equiv value */
   Nsecfilt = GetPhotcodeNsecfilt ();
   Nsec     = GetPhotcodeNsec (options.photcode);
@@ -183,10 +183,11 @@
       catalog[0].measure[Nmeas].theta    = MIN ((0xffff/360.0)*stars[N].df, NO_MAG);
 	
-      /* it is not valid to pass PRI/SEC/REF photcodes to this routine */
-      /* check for entries in the secfilt lists */
-      Mcat = PhotCat (&catalog[0].measure[Nmeas]);
-      Mval = (Nsec == -1) ? &catalog[0].average[n].M : &catalog[0].secfilt[n*Nsecfilt+Nsec].M;
-      if (*Mval == NO_MAG) *Mval = Mcat;
+      /* set the average magnitude if not already set and photcode.equiv is valid */
       /* in UPDATE mode, this value is not saved; use relphot to recalculate */
+      if (Nsec > -1) { 
+	  if (catalog[0].secfilt[n*Nsecfilt+Nsec].M != NO_MAG) {
+	      catalog[0].secfilt[n*Nsecfilt+Nsec].M = PhotCat (&catalog[0].measure[Nmeas]);
+	  }
+      }
 
       /* adds the measurement to the calibration if appropriate color terms are found */
@@ -248,11 +249,7 @@
     catalog[0].average[Nave].R         = stars[N].R;
     catalog[0].average[Nave].D         = stars[N].D;
-    catalog[0].average[Nave].M         = NO_MAG;
-    catalog[0].average[Nave].dM        = NO_MAG;
+    catalog[0].average[Nave].Xp        = 0;
     catalog[0].average[Nave].Nm        = 1;
     catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].Xp        = NO_MAG;
-    catalog[0].average[Nave].Xm        = NO_MAG;
-    catalog[0].average[Nave].Xg        = NO_MAG;
     catalog[0].average[Nave].offset    = Nmeas;
     catalog[0].average[Nave].missing   = -1;
@@ -298,7 +295,9 @@
     /* XXX replace df here with theta, right? */
 
-    Mcat = PhotCat (&catalog[0].measure[Nmeas]);
-    Mval = (Nsec == -1) ? &catalog[0].average[Nave].M : &catalog[0].secfilt[Nave*Nsecfilt+Nsec].M;
-    if (*Mval == NO_MAG) *Mval = Mcat;
+    /* set the average magnitude if not already set and photcode.equiv is valid */
+    /* in UPDATE mode, this value is not saved; use relphot to recalculate */
+    if (Nsec > -1) { 
+	catalog[0].secfilt[Nave*Nsecfilt+Nsec].M = PhotCat (&catalog[0].measure[Nmeas]);
+    }
 
     /* next[Nmeas] should always be -1 in this context (it is always the only
Index: /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches_closest.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches_closest.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches_closest.c	(revision 12012)
@@ -201,10 +201,11 @@
     catalog[0].measure[Nmeas].theta    = MIN ((0xffff/360.0)*stars[N].df, NO_MAG);
 	
-    /* it is not valid to pass PRI/SEC/REF photcodes to this routine */
-    /* check for entries in the secfilt lists */
-    Mcat = PhotCat (&catalog[0].measure[Nmeas]);
-    Mval = (Nsec == -1) ? &catalog[0].average[n].M : &catalog[0].secfilt[n*Nsecfilt+Nsec].M;
-    if (*Mval == NO_MAG) *Mval = Mcat;
+    /* set the average magnitude if not already set and photcode.equiv is valid */
     /* in UPDATE mode, this value is not saved; use relphot to recalculate */
+    if (Nsec > -1) { 
+	if (catalog[0].secfilt[n*Nsecfilt+Nsec].M != NO_MAG) {
+	    catalog[0].secfilt[n*Nsecfilt+Nsec].M = PhotCat (&catalog[0].measure[Nmeas]);
+	}
+    }
 
     /* adds the measurement to the calibration if appropriate color terms are found */
@@ -246,11 +247,7 @@
     catalog[0].average[Nave].R         = stars[N].R;
     catalog[0].average[Nave].D         = stars[N].D;
-    catalog[0].average[Nave].M         = NO_MAG;
-    catalog[0].average[Nave].dM        = NO_MAG;
+    catalog[0].average[Nave].Xp        = 0;
     catalog[0].average[Nave].Nm        = 1;
     catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].Xp        = NO_MAG;
-    catalog[0].average[Nave].Xm        = NO_MAG;
-    catalog[0].average[Nave].Xg        = NO_MAG;
     catalog[0].average[Nave].offset    = Nmeas;
     catalog[0].average[Nave].missing   = -1;
@@ -295,7 +292,9 @@
     catalog[0].measure[Nmeas].theta    = MIN ((0xffff/360.0)*stars[N].df, NO_ERR);
 
-    Mcat = PhotCat (&catalog[0].measure[Nmeas]);
-    Mval = (Nsec == -1) ? &catalog[0].average[Nave].M : &catalog[0].secfilt[Nave*Nsecfilt+Nsec].M;
-    if (*Mval == NO_MAG) *Mval = Mcat;
+    /* set the average magnitude if not already set and photcode.equiv is valid */
+    /* in UPDATE mode, this value is not saved; use relphot to recalculate */
+    if (Nsec > -1) { 
+	catalog[0].secfilt[Nave*Nsecfilt+Nsec].M = PhotCat (&catalog[0].measure[Nmeas]);
+    }
 
     /* next[Nmeas] should always be -1 in this context (it is always the only
Index: /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches_refstars.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches_refstars.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/addstar/src/find_matches_refstars.c	(revision 12012)
@@ -212,4 +212,10 @@
     catalog[0].average[Nave].R         = stars[N][0].R;
     catalog[0].average[Nave].D         = stars[N][0].D;
+    catalog[0].average[Nave].Xp        = 0;
+    catalog[0].average[Nave].Nm        = 1;
+    catalog[0].average[Nave].Nn        = 0;
+    catalog[0].average[Nave].offset    = Nmeas;
+    catalog[0].average[Nave].missing   = -1;
+    catalog[0].average[Nave].code      = 0;
 
     if (ACCEPT_MOTION) {
@@ -233,15 +239,4 @@
     }
 
-    catalog[0].average[Nave].M         = NO_MAG;
-    catalog[0].average[Nave].dM        = NO_MAG;
-    catalog[0].average[Nave].Nm        = 1;
-    catalog[0].average[Nave].Nn        = 0;
-    catalog[0].average[Nave].Xp        = NO_MAG;
-    catalog[0].average[Nave].Xm        = NO_MAG;
-    catalog[0].average[Nave].Xg        = NO_MAG;
-    catalog[0].average[Nave].offset    = Nmeas;
-    catalog[0].average[Nave].missing   = -1;
-    catalog[0].average[Nave].code      = 0;
-
     for (j = 0; j < Nsecfilt; j++) {
       catalog[0].secfilt[Nave*Nsecfilt+j].M  = NO_MAG;
Index: /branches/dvo-mods-2007-02/Ohana/src/getstar/src/select_by_region.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/getstar/src/select_by_region.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/getstar/src/select_by_region.c	(revision 12012)
@@ -38,5 +38,6 @@
     if (D > region[0].Dmax) continue;
 
-    if (MagLimitUse && (catalog[0].average[i].M > MagLimitValue)) continue;
+    /* XXX add photcode as argument to MagLimitUse */
+    if (MagLimitUse && (catalog[0].secfilt[Nsecfilt*i].M > MagLimitValue)) continue;
 
     output[0].average[Nave] = catalog[0].average[i];
Index: /branches/dvo-mods-2007-02/Ohana/src/libautocode/def/average.d
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/libautocode/def/average.d	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/libautocode/def/average.d	(revision 12012)
@@ -2,5 +2,5 @@
 EXTNAME      DVO_AVERAGE
 TYPE         BINTABLE
-SIZE         84
+SIZE         72
 DESCRIPTION  DVO Average Object Table
 
@@ -19,9 +19,11 @@
 FIELD dP,             PAR_ERR,    float,            parallax error,               arcsec
 
-FIELD M,              MAG,        float,            primary mag,       	       	  mag
-FIELD dM,             MAG_ERR,    float,            error on primary mag,         mag
+# XXX drop the old primary magnitude concept
+# FIELD M,            MAG,        float,            primary mag,       	       	  mag
+# FIELD dM,           MAG_ERR,    float,            error on primary mag,         mag
+# FIELD Xm,           CHISQ_MAG,  short, 	    chisq for primary mag,        [100*log(value)]
+# FIELD Xg,           CHISQ_GAL,  short,            chisq for galaxy mags,        [100*log(value)]
+
 FIELD Xp,             SIGMA_POS,  short, 	    position scatter,   	  1/100 arcsec
-FIELD Xm,             CHISQ_MAG,  short, 	    chisq for primary mag,        [100*log(value)]
-FIELD Xg,             CHISQ_GAL,  short,            chisq for galaxy mags,        [100*log(value)]
 FIELD Nm,             NMEAS,      unsigned short,   number of measures
 FIELD Nn,             NMISS,      unsigned short,   number of missings
@@ -43,2 +45,3 @@
 
 # the DVO object IDs are generated internally and are not equivalent to the PSPS object IDs
+# probably need to add position chisq
Index: /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/compare.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/compare.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/compare.c	(revision 12012)
@@ -38,8 +38,8 @@
 	  rvec[0].elements[Nmatch] = catlog1[0].average[i].R;
 	  dvec[0].elements[Nmatch] = catlog1[0].average[i].D;
-	  mvec[0].elements[Nmatch] = catlog1[0].average[i].M;
+	  // mvec[0].elements[Nmatch] = catlog1[0].average[i].M;
 	  drvec[0].elements[Nmatch] = dX;
 	  ddvec[0].elements[Nmatch] = dY;
-	  dmvec[0].elements[Nmatch] = catlog1[0].average[i].M - catlog2[0].average[j].M;
+	  // dmvec[0].elements[Nmatch] = catlog1[0].average[i].M - catlog2[0].average[j].M;
 	  Nmatch ++;
 	  if (Nmatch == NMATCH - 1) {
Index: /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/dmt.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/dmt.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/dmt.c	(revision 12012)
@@ -82,5 +82,5 @@
       if (catalog.average[i].Nm != 3) continue;
       m = catalog.average[i].offset;
-      M0 = (Ns == -1) ? catalog.average[i].M : catalog.secfilt[i*Nsec+Ns].M;
+      M0 = (Ns == -1) ? NO_MAG : catalog.secfilt[i*Nsec+Ns].M;
       M1 = PhotCat (&catalog.measure[m+0]);
       M2 = PhotCat (&catalog.measure[m+1]);
Index: /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/gstar.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/gstar.c	(revision 12012)
@@ -259,5 +259,5 @@
     case 0: /* average mags */
       if (seq == -1) {
-	print_value (average[0].M, average[0].M);
+	print_value (NO_MAG, NO_MAG);
       } else {
 	print_value (secfilt[seq].M, secfilt[seq].M);
@@ -267,5 +267,5 @@
     case 1: /* average mags errors */
       if (seq == -1) {
-	print_value (average[0].dM, average[0].dM);
+	print_value (NO_MAG, NO_MAG);
       } else {
 	print_value (secfilt[seq].dM, secfilt[seq].dM);
@@ -275,5 +275,5 @@
     case 2: /* average mag chisq */
       if (seq == -1) {
-	print_value (pow (10.0, 0.01*average[0].Xm), average[0].Xm);
+	print_value (NO_MAG, NO_MAG);
       } else {
 	print_value (pow (10.0, 0.01*secfilt[seq].Xm), secfilt[seq].Xm);
Index: /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/imdata.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/imdata.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/imdata.c	(revision 12012)
@@ -39,4 +39,7 @@
     }      
   }
+
+  gprint (GP_ERR, "function is poorly defined; disabled and may be removed\n");
+  return (FALSE);
 
   if (argc != 4) {
@@ -179,5 +182,5 @@
 	  if ((catalog.measure[i].t < start) || (catalog.measure[i].t > stop)) continue;
 	  n = catalog.measure[i].averef;
-	  vec[0].elements[N] = catalog.average[n].M;
+	  // vec[0].elements[N] = catalog.average[n].M;
 	  N++;
 	}
Index: /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/paverage.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/paverage.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/opihi/dvo/paverage.c	(revision 12012)
@@ -116,5 +116,5 @@
       while (average[i].R > Rmax) average[i].R -= 360.0;
 
-      mag = (Nsec == -1) ? average[i].M : secfilt[i*Nsecfilt+Nsec].M;
+      mag = (Nsec == -1) ? NO_MAG : secfilt[i*Nsecfilt+Nsec].M;
       Zvec[Npts] = MIN (1.0, MAX (0.01, (mag - Mz) / Mr));
       if (LimExclude && (Zvec[Npts] > 0.99)) continue;
Index: /branches/dvo-mods-2007-02/Ohana/src/relphot/include/relphot.h
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/relphot/include/relphot.h	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/relphot/include/relphot.h	(revision 12012)
@@ -84,5 +84,4 @@
 
 PhotCode      *photcode;
-int            PhotPrimary;
 int            PhotNsec;
 int            PhotSec;
Index: /branches/dvo-mods-2007-02/Ohana/src/relphot/src/StarOps.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/relphot/src/StarOps.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/relphot/src/StarOps.c	(revision 12012)
@@ -28,5 +28,5 @@
   if (catalog[cat].average[ave].code & STAR_BAD) return (NO_MAG);  
  
-  value = PhotPrimary ? catalog[cat].average[ave].M : catalog[cat].secfilt[PhotNsec*ave+PhotSec].M;
+  value = catalog[cat].secfilt[PhotNsec*ave+PhotSec].M;
   return (value);
 }
@@ -76,13 +76,7 @@
       liststats (list, dlist, N, &stats);
 
-      if (PhotPrimary) {
-	catalog[i].average[j].M = stats.mean;
-	catalog[i].average[j].dM = stats.sigma;
-	catalog[i].average[j].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
-      } else {
-	catalog[i].secfilt[PhotNsec*j+PhotSec].M  = stats.mean;
-	catalog[i].secfilt[PhotNsec*j+PhotSec].dM = stats.sigma;
-	catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
-      }      
+      catalog[i].secfilt[PhotNsec*j+PhotSec].M  = stats.mean;
+      catalog[i].secfilt[PhotNsec*j+PhotSec].dM = stats.sigma;
+      catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
     }
   }
@@ -139,13 +133,7 @@
 
       /* use sigma or error in dM for output? */
-      if (PhotPrimary) {
-	catalog[i].average[j].M = stats.mean;
-	catalog[i].average[j].dM = MAX (stats.sigma, stats.error);
-	catalog[i].average[j].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
-      } else {
-	catalog[i].secfilt[PhotNsec*j+PhotSec].M  = stats.mean;
-	catalog[i].secfilt[PhotNsec*j+PhotSec].dM = MAX (stats.error, stats.sigma);
-	catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
-      }      
+      catalog[i].secfilt[PhotNsec*j+PhotSec].M  = stats.mean;
+      catalog[i].secfilt[PhotNsec*j+PhotSec].dM = MAX (stats.error, stats.sigma);
+      catalog[i].secfilt[PhotNsec*j+PhotSec].Xm = (stats.Nmeas > 1) ? 100.0*log10(stats.chisq) : NO_MAG;
     }
   }
@@ -205,9 +193,9 @@
     for (j = 0; j < catalog[i].Naverage; j++) {
       if (catalog[i].average[j].code & STAR_BAD) continue;
-      Xm = PhotPrimary ? catalog[i].average[j].Xm : catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
+      Xm = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
       if (Xm == -1) continue;
       Chisq = pow (10.0, 0.01*Xm);
       xlist[Ntot] = Chisq;
-      slist[Ntot] = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
+      slist[Ntot] = catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
       dlist[Ntot] = 1;
       Ntot ++;
@@ -225,6 +213,6 @@
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
-      dM = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
-      Xm = PhotPrimary ? catalog[i].average[j].Xm    : catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
+      dM = catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
+      Xm = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
       Chisq = pow (10.0, 0.01*Xm);
       mark = (dM > MaxScatter) || (Xm == NO_MAG) || (Chisq > MaxChisq);
@@ -422,5 +410,5 @@
       if (catalog[i].average[j].code & STAR_BAD) continue;  
 
-      Xm = PhotPrimary ? catalog[i].average[j].Xm : catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
+      Xm = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
       if (Xm == NO_MAG) continue;
       list[n] = pow (10.0, 0.01*Xm);
@@ -458,5 +446,5 @@
       if (catalog[i].average[j].code & STAR_BAD) continue;  
 
-      dM = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
+      dM = catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
       list[n] = dM;
       dlist[n] = 1;
@@ -487,5 +475,5 @@
     for (j = 0; j < catalog[i].Naverage; j++) {
       if (catalog[i].average[j].code & STAR_BAD) continue;  
-      dMrel = PhotPrimary ? catalog[i].average[j].dM : catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
+      dMrel = catalog[i].secfilt[PhotNsec*j+PhotSec].dM;
       bin = dMrel / 0.00025;
       bin = MAX (0, MIN (NBIN-1, bin));
@@ -518,6 +506,6 @@
     for (j = 0; j < catalog[i].Naverage; j++) {
       if (catalog[i].average[j].code & STAR_BAD) continue;
-      xlist[N] = PhotPrimary ? catalog[i].average[j].M : catalog[i].secfilt[PhotNsec*j+PhotSec].M;
-      value    = PhotPrimary ? catalog[i].average[j].Xm   : catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
+      xlist[N] = catalog[i].secfilt[PhotNsec*j+PhotSec].M;
+      value    = catalog[i].secfilt[PhotNsec*j+PhotSec].Xm;
       if (value == NO_MAG) continue;
       ylist[N] = 0.01*value;
Index: /branches/dvo-mods-2007-02/Ohana/src/relphot/src/bcatalog.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/relphot/src/bcatalog.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/relphot/src/bcatalog.c	(revision 12012)
@@ -28,8 +28,6 @@
     if (RESET) {
       float *p;
-      p = (PhotPrimary) ? &subcatalog[0].average[Naverage].M : &subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].M;
-      *p = NO_MAG;
-      p = (PhotPrimary) ? &subcatalog[0].average[Naverage].dM : &subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].dM;
-      *p = NO_MAG;
+      subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].M  = NO_MAG;
+      subcatalog[0].secfilt[PhotNsec*Naverage+PhotSec].dM = NO_MAG;
       subcatalog[0].average[Naverage].code &= ~ID_STAR_FEW;
       subcatalog[0].average[Naverage].code &= ~ID_STAR_POOR;
Index: /branches/dvo-mods-2007-02/Ohana/src/relphot/src/initialize.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/relphot/src/initialize.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/relphot/src/initialize.c	(revision 12012)
@@ -18,5 +18,4 @@
   }
 
-  PhotPrimary = (photcode[0].type == PHOT_PRI);
   PhotNsec = GetPhotcodeNsecfilt ();
   PhotSec = GetPhotcodeNsec (photcode[0].code);
Index: /branches/dvo-mods-2007-02/Ohana/src/relphot/src/plot_scatter.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/relphot/src/plot_scatter.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/relphot/src/plot_scatter.c	(revision 12012)
@@ -36,5 +36,5 @@
 	if ((Mgrid = getMgrid (m, i)) == NO_MAG) continue;
 
-	Mrel = PhotPrimary ? catalog[i].average[j].M : catalog[i].secfilt[PhotNsec*j+PhotSec].M;
+	Mrel = catalog[i].secfilt[PhotNsec*j+PhotSec].M;
 	xlist[N] = Mrel;
 	ylist[N] = PhotSys  (&catalog[i].measure[m], &catalog[i].average[j], &catalog[i].secfilt[j*PhotNsec]) - Mcal - Mmos - Mgrid - Mrel;
Index: /branches/dvo-mods-2007-02/Ohana/src/relphot/src/setMrelFinal.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/relphot/src/setMrelFinal.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/relphot/src/setMrelFinal.c	(revision 12012)
@@ -11,10 +11,7 @@
 
     for (i = 0; i < catalog[0].Naverage; i++) {
-      p = (PhotPrimary) ? &catalog[0].average[i].M  : &catalog[0].secfilt[PhotNsec*i+PhotSec].M;
-      *p = NO_MAG;
-      p = (PhotPrimary) ? &catalog[0].average[i].dM : &catalog[0].secfilt[PhotNsec*i+PhotSec].dM;
-      *p = NO_MAG;
-      q = (PhotPrimary) ? &catalog[0].average[i].Xm : &catalog[0].secfilt[PhotNsec*i+PhotSec].Xm;
-      *q = NO_MAG;
+      catalog[0].secfilt[PhotNsec*i+PhotSec].M = NO_MAG;
+      catalog[0].secfilt[PhotNsec*i+PhotSec].dM = NO_MAG;
+      catalog[0].secfilt[PhotNsec*i+PhotSec].Xm = NO_MAG;
 
       m = catalog[0].average[i].offset;
Index: /branches/dvo-mods-2007-02/Ohana/src/uniphot/src/update_catalog.c
===================================================================
--- /branches/dvo-mods-2007-02/Ohana/src/uniphot/src/update_catalog.c	(revision 12011)
+++ /branches/dvo-mods-2007-02/Ohana/src/uniphot/src/update_catalog.c	(revision 12012)
@@ -4,9 +4,8 @@
 
   int i, j, m, found;
-  int Primary, Nsec, Nsecfilt;
+  int Nsec, Nsecfilt;
   float *Mp;
   PhotCode *code;
 
-  Primary = (photcode[0].type == PHOT_PRI);
   Nsec = GetPhotcodeNsec (photcode[0].code);
   Nsecfilt = GetPhotcodeNsecfilt ();
@@ -15,6 +14,7 @@
   for (i = 0; i < catalog[0].Naverage; i++) {
     
-    Mp = Primary ? &catalog[0].average[i].M : &catalog[0].secfilt[i*Nsecfilt+Nsec].M;
-    if (*Mp != NO_MAG) *Mp += sgroup[0].M;
+    if (catalog[0].secfilt[i*Nsecfilt+Nsec].M != NO_MAG) {
+      catalog[0].secfilt[i*Nsecfilt+Nsec].M += sgroup[0].M;
+    }
 
     m = catalog[0].average[i].offset;
