Index: trunk/Ohana/src/relphot/src/ImageOps.c
===================================================================
--- trunk/Ohana/src/relphot/src/ImageOps.c	(revision 39288)
+++ trunk/Ohana/src/relphot/src/ImageOps.c	(revision 39289)
@@ -410,9 +410,10 @@
 }
 
-// returns image.Mcal - ff(x,y)
+// returns image.Mcal
+// NOTE: static flat-field component is included in measure.Mflat
 float getMcal (off_t meas, int cat, FlatCorrectionTable *flatcorr, Catalog *catalog) {
 
   off_t i;
-  float value, offset;
+  float value;
 
   i = MeasureToImage[cat][meas];
@@ -421,12 +422,12 @@
   if (image[i].flags & IMAGE_BAD) return (NAN);  
   value = image[i].Mcal;
-  offset = 0.0;
 
   // to do this, I need to pass in the catalog and flatcorr pointers
-  int flat_id = image[i].photom_map_id;
-  if (flat_id) {
-    offset = FlatCorrectionOffset (flatcorr, flat_id, catalog[cat].measureT[meas].Xccd, catalog[cat].measureT[meas].Yccd);
-  }
-  value -= offset;
+  // int flat_id = image[i].photom_map_id;
+  // float offset = 0.0;
+  // if (flat_id) {
+  //   offset = FlatCorrectionOffset (flatcorr, flat_id, catalog[cat].measureT[meas].Xccd, catalog[cat].measureT[meas].Yccd);
+  // }
+  // value -= offset;
 
   return (value);
@@ -434,8 +435,9 @@
 
 // returns image.Mcal - ff(x,y)
+// NOTE: static flat-field component is included in measure.Mflat
 float getMcal_alt (off_t meas, int cat, FlatCorrectionTable *flatcorr, float Xccd, float Yccd) {
 
   off_t i;
-  float value, offset;
+  float value;
 
   i = MeasureToImage[cat][meas];
@@ -444,12 +446,12 @@
   if (image[i].flags & IMAGE_BAD) return (NAN);  
   value = image[i].Mcal;
-  offset = 0.0;
 
   // to do this, I need to pass in the catalog and flatcorr pointers
-  int flat_id = image[i].photom_map_id;
-  if (flat_id) {
-    offset = FlatCorrectionOffset (flatcorr, flat_id, Xccd, Yccd);
-  }
-  value -= offset;
+  // int flat_id = image[i].photom_map_id;
+  // float offset = 0.0;
+  // if (flat_id) {
+  //   offset = FlatCorrectionOffset (flatcorr, flat_id, Xccd, Yccd);
+  // }
+  // value -= offset;
 
   return (value);
@@ -564,11 +566,14 @@
   if (i == -1) return (NAN);
 
-  float offset = 0.0;
+  float offset = catalog[cat].measureT[meas].Mflat;
+  if (!isfinite(offset)) {
+    offset = 0.0;
+  }
 
   // to do this, I need to pass in the catalog and flatcorr pointers
-  int flat_id = image[i].photom_map_id;
-  if (flat_id) {
-    offset = FlatCorrectionOffset (flatcorr, flat_id, catalog[cat].measureT[meas].Xccd, catalog[cat].measureT[meas].Yccd);
-  }
+  // int flat_id = image[i].photom_map_id;
+  // if (flat_id) {
+  //   offset = FlatCorrectionOffset (flatcorr, flat_id, catalog[cat].measureT[meas].Xccd, catalog[cat].measureT[meas].Yccd);
+  // }
 
   return (offset);
Index: trunk/Ohana/src/relphot/src/relphot_client.c
===================================================================
--- trunk/Ohana/src/relphot/src/relphot_client.c	(revision 39288)
+++ trunk/Ohana/src/relphot/src/relphot_client.c	(revision 39289)
@@ -72,9 +72,11 @@
 
       // load the flat-field correction table from CATDIR
+# if (0)
       char flatcorrFile[1024];
       snprintf (flatcorrFile, 1024, "%s/flatcorr.fits", CATDIR);
       FlatCorrectionTable *flatcorr = FlatCorrectionLoad (flatcorrFile, VERBOSE);
       client_logger_message ("loaded flat-field correction data\n");
-
+# endif
+      FlatCorrectionTable *flatcorr = NULL;
       reload_catalogs (skylist, flatcorr, HOST_ID, HOSTDIR);
       client_logger_message ("updated catalogs\n");
Index: trunk/Ohana/src/relphot/src/relphot_images.c
===================================================================
--- trunk/Ohana/src/relphot/src/relphot_images.c	(revision 39288)
+++ trunk/Ohana/src/relphot/src/relphot_images.c	(revision 39289)
@@ -47,7 +47,10 @@
 
   // load the flat correction table (if defined)
+# if (0)
   char flatcorrfile[256];
   sprintf (flatcorrfile, "%s/flatcorr.fits", CATDIR);
   FlatCorrectionTable *flatcorr = FlatCorrectionLoad (flatcorrfile, VERBOSE);
+# endif
+  FlatCorrectionTable *flatcorr = NULL;
 
   if (NLOOP > 0) {
Index: trunk/Ohana/src/relphot/src/relphot_parallel_images.c
===================================================================
--- trunk/Ohana/src/relphot/src/relphot_parallel_images.c	(revision 39288)
+++ trunk/Ohana/src/relphot/src/relphot_parallel_images.c	(revision 39289)
@@ -44,7 +44,10 @@
 
   // load the flat correction table (if defined)
+# if (0)
   char flatcorrfile[256];
   sprintf (flatcorrfile, "%s/flatcorr.fits", CATDIR);
   FlatCorrectionTable *flatcorr = FlatCorrectionLoad (flatcorrfile, VERBOSE);
+# endif
+  FlatCorrectionTable *flatcorr = NULL;
 
   SkyTable *sky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, TRUE, SKY_DEPTH, VERBOSE);
Index: trunk/Ohana/src/relphot/src/relphot_parallel_regions.c
===================================================================
--- trunk/Ohana/src/relphot/src/relphot_parallel_regions.c	(revision 39288)
+++ trunk/Ohana/src/relphot/src/relphot_parallel_regions.c	(revision 39289)
@@ -17,7 +17,10 @@
 
   // load the flat correction table (if defined)
+# if (0)
   char flatcorrfile[256];
   sprintf (flatcorrfile, "%s/flatcorr.fits", CATDIR);
   FlatCorrectionTable *flatcorr = FlatCorrectionLoad (flatcorrfile, VERBOSE);
+# endif
+  FlatCorrectionTable *flatcorr = NULL;
 
   // register database handle with shutdown procedure
