Index: trunk/psphot/src/psphot.h
===================================================================
--- trunk/psphot/src/psphot.h	(revision 37589)
+++ trunk/psphot/src/psphot.h	(revision 37590)
@@ -146,5 +146,5 @@
 
 bool            psphotMagnitudes (pmConfig *config, const pmFPAview *view, const char *filerule);
-bool            psphotMagnitudesReadout(pmConfig *config, psMetadata *recipe, const pmFPAview *view, pmReadout *readout, psArray *sources, pmPSF *psf);
+bool            psphotMagnitudesReadout(pmConfig *config, psMetadata *recipe, const pmFPAview *view, pmReadout *readout, psArray *sources, pmPSF *psf, int index);
 bool            psphotMagnitudes_Threaded (psThreadJob *job);
 
@@ -236,6 +236,6 @@
 int             psphotSaveImage (psMetadata *header, psImage *image, char *filename);
 bool            psphotDumpConfig (pmConfig *config);
-pmReadout      *psphotSelectBackground (pmConfig *config, const pmFPAview *view);
-pmReadout      *psphotSelectBackgroundStdev (pmConfig *config, const pmFPAview *view);
+pmReadout      *psphotSelectBackground (pmConfig *config, const pmFPAview *view, int index);
+pmReadout      *psphotSelectBackgroundStdev (pmConfig *config, const pmFPAview *view, int index);
 
 // PSF / DBL / EXT evaluation functions
Index: trunk/psphot/src/psphotEfficiency.c
===================================================================
--- trunk/psphot/src/psphotEfficiency.c	(revision 37589)
+++ trunk/psphot/src/psphotEfficiency.c	(revision 37590)
@@ -502,5 +502,5 @@
 
     // measure the magnitudes and fluxes for the sources
-    if (!psphotMagnitudesReadout(config, recipe, view, readout, fakeSourcesAll, psf)) {
+    if (!psphotMagnitudesReadout(config, recipe, view, readout, fakeSourcesAll, psf, index)) {
         psError(PS_ERR_UNKNOWN, false, "Unable to measure magnitudes of fake sources.");
         psFree(fakeSources);
Index: trunk/psphot/src/psphotMagnitudes.c
===================================================================
--- trunk/psphot/src/psphotMagnitudes.c	(revision 37589)
+++ trunk/psphot/src/psphotMagnitudes.c	(revision 37590)
@@ -38,5 +38,5 @@
         psAssert (psf, "missing psf?");
 
-        if (!psphotMagnitudesReadout (config, recipe, view, readout, sources, psf)) {
+        if (!psphotMagnitudesReadout (config, recipe, view, readout, sources, psf, i)) {
             psError (PSPHOT_ERR_CONFIG, false, "failed to measure magnitudes for %s entry %d", filerule, i);
             return false;
@@ -46,5 +46,5 @@
 }
 
-bool psphotMagnitudesReadout(pmConfig *config, psMetadata *recipe, const pmFPAview *view, pmReadout *readout, psArray *sources, pmPSF *psf) {
+bool psphotMagnitudesReadout(pmConfig *config, psMetadata *recipe, const pmFPAview *view, pmReadout *readout, psArray *sources, pmPSF *psf, int index) {
 
     bool status = false;
@@ -65,6 +65,6 @@
 
     // if backModel or backStdev are missing, the values of sky and/or skyErr will be set to NAN
-    pmReadout *backModel = psphotSelectBackground (config, view);
-    pmReadout *backStdev = psphotSelectBackgroundStdev (config, view);
+    pmReadout *backModel = psphotSelectBackground (config, view, index);
+    pmReadout *backStdev = psphotSelectBackgroundStdev (config, view, index);
 
     // bit-masks to test for good/bad pixels
Index: trunk/psphot/src/psphotOutput.c
===================================================================
--- trunk/psphot/src/psphotOutput.c	(revision 37589)
+++ trunk/psphot/src/psphotOutput.c	(revision 37590)
@@ -29,10 +29,7 @@
 }
 
-pmReadout *psphotSelectBackground (pmConfig *config, const pmFPAview *view) {
-
-    bool status;
-    
-
-    pmFPAfile *file = psMetadataLookupPtr (&status, config->files, psphotGetFilerule("PSPHOT.BACKMDL"));
+pmReadout *psphotSelectBackground (pmConfig *config, const pmFPAview *view, int index) {
+
+    pmFPAfile *file = pmFPAfileSelectSingle (config->files, psphotGetFilerule("PSPHOT.BACKMDL"), index);
     if (!file) return NULL;
 
@@ -41,9 +38,7 @@
 }
 
-pmReadout *psphotSelectBackgroundStdev (pmConfig *config, const pmFPAview *view) {
-
-    bool status;
-
-    pmFPAfile *file = psMetadataLookupPtr (&status, config->files, psphotGetFilerule("PSPHOT.BACKMDL.STDEV"));
+pmReadout *psphotSelectBackgroundStdev (pmConfig *config, const pmFPAview *view, int index) {
+
+    pmFPAfile *file = pmFPAfileSelectSingle (config->files, psphotGetFilerule("PSPHOT.BACKMDL.STDEV"), index);
     if (!file) return NULL;
 
