Index: /trunk/psphot/src/psphotImageLoop.c
===================================================================
--- /trunk/psphot/src/psphotImageLoop.c	(revision 12598)
+++ /trunk/psphot/src/psphotImageLoop.c	(revision 12599)
@@ -43,6 +43,5 @@
 	    return false;
 	}
-	pmFPAfileActivate (config->files, true, NULL);
-	
+
 	// mosaic the cells of a chip into a single contiguous chip.
 	// this probably needs to return a new fpa? 
@@ -52,5 +51,10 @@
         }
 
-	// try to load the data
+	// try to load other supporting data (PSF, SRC, etc).
+	// do not re-load the following three files
+	pmFPAfileActivate (config->files, true, NULL);
+	pmFPAfileActivate (config->files, false, "PSPHOT.LOAD");
+	pmFPAfileActivate (config->files, false, "PSPHOT.MASK");
+	pmFPAfileActivate (config->files, false, "PSPHOT.WEIGHT");
 	if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) {
             psError(PSPHOT_ERR_DATA, false, "failed IO for chip %d in psphot\n", view->chip);
@@ -60,11 +64,7 @@
 
 	// there is now only a single chip (multiple readouts?). loop over it and process
-	// XXX activate / de-activate files? no I/O here?
 	while ((cell = pmFPAviewNextCell (view, input->fpa, 1)) != NULL) {
             psLogMsg ("psphot", 4, "Cell %d: %x %x\n", view->cell, cell->file_exists, cell->process);
-	    // XXX who should be setting cell->process?
-            // if (! cell->process || ! cell->file_exists) { continue; }
-            // if (! cell->process) { continue; }
-	    
+
 	    // process each of the readouts
 	    while ((readout = pmFPAviewNextReadout (view, input->fpa, 1)) != NULL) {
@@ -72,6 +72,5 @@
 		if (! readout->data_exists) { continue; }
 
-		// run the actual photometry analysis
-		// XXX calling psphotReadout here will operate on the mosaic'ed chips (for each readout)
+		// run the actual photometry analysis on this chip/cell/readout
 		if (!psphotReadout (config, view)) {
 		    psError(psErrorCodeLast(), false, "failure in psphotReadout for chip %d, cell %d, readout %d\n", view->chip, view->cell, view->readout);
