Index: trunk/Ohana/src/opihi/dvo/mmextract.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/mmextract.c	(revision 35263)
+++ trunk/Ohana/src/opihi/dvo/mmextract.c	(revision 37807)
@@ -174,4 +174,7 @@
   }
 
+  // int needLensing = dbFieldNeedLensing (fields, Nfields);
+  int needStarpar = dbFieldNeedStarpar (fields, Nfields, FALSE);
+
   // grab data from all selected sky regions
   Signal = signal (SIGINT, handle_interrupt);
@@ -213,7 +216,19 @@
 	// extract the relevant values for this measurement 
 	dbExtractMeasuresInitMeas (); // reset counters for saved fields 
+
+	Average *average = &catalog.average[j];
+
+	int Nstarpar = average->starparOffset;
+	StarPar *starpar = needStarpar ? &catalog.starpar[Nstarpar] : NULL;
+
+	// int Nlensing = average->lensobjOffset;
+	// Lensobj *lensobj = needLensobj ? &catalog.lensobj[m] : NULL;
+
+	int Nsec = j*Nsecfilt;
+	SecFilt *secfilt = &catalog.secfilt[Nsec];
+
 	for (n = 0; n < Nfields; n++) {
 	  // values needs to be a pointer to a type with FLT and INT (with a union, we would save a bit of memory...)
-	  values[n] = dbExtractMeasures (&catalog.average[j], &catalog.secfilt[j*Nsecfilt], &catalog.measure[m], &fields[n]);
+	  values[n] = dbExtractMeasures (average, secfilt, &catalog.measure[m], NULL, starpar, &fields[n]);
 	}
 	// fprintf (stderr, "object: ave: %f, cat: %f, averef %d\n", fields[n].name, values[2], values[3], catalog.measure[m].averef);
