Index: trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c	(revision 14191)
+++ trunk/Ohana/src/opihi/dvo/dbExtractMeasures.c	(revision 14379)
@@ -23,9 +23,12 @@
   switch (field->ID) {
     case MEAS_MAG: /* magnitudes are already determined above */
-      // if user has requested a photcode, supply the value only if we match (else NO_MAG)
-      if ((field->photcode->type != PHOT_MAG) && 
-	  (measure[0].photcode != field->photcode->code)) {
-	  break;
-      }
+      // we return the magnitude for this measure if:
+      if (field->photcode->type == PHOT_MAG) goto valid_photcode;
+      if ((field->photcode->type == PHOT_REF) && (measure[0].photcode == field->photcode->code)) goto valid_photcode;
+      if ((field->photcode->type == PHOT_DEP) && (measure[0].photcode == field->photcode->code)) goto valid_photcode;
+      if ((field->photcode->type == PHOT_SEC) && (GetPhotcodeEquivbyCode (measure[0].photcode) == field->photcode->code)) goto valid_photcode;
+      break;
+
+  valid_photcode:
       switch (field->magMode) {
 	case MAG_INST:
@@ -58,4 +61,10 @@
       value = average[0].D - measure[0].dD / 3600.0;
       break;
+    case MEAS_RA_AVE: /* OK */
+      value = average[0].R;
+      break;
+    case MEAS_DEC_AVE: /* OK */
+      value = average[0].D;
+      break;
     case MEAS_dMAG: /* OK */
       value = measure[0].dM;
@@ -73,4 +82,6 @@
       value = TimeValue (measure[0].t, TimeReference, TimeFormat);
       break;
+    // note that these represent the ra displacement relative to the average, not 
+    // the error.
     case MEAS_dR: /* OK */
       value = measure[0].dR;
