Index: trunk/ppSub/src/ppSubReadoutPhotometry.c
===================================================================
--- trunk/ppSub/src/ppSubReadoutPhotometry.c	(revision 23753)
+++ trunk/ppSub/src/ppSubReadoutPhotometry.c	(revision 23758)
@@ -67,22 +67,15 @@
 
     pmFPAfile *photFile = psMetadataLookupPtr(&mdok, config->files, "PSPHOT.INPUT"); // Photometry file
+    pmFPAfile *inFile = psMetadataLookupPtr(&mdok, config->files, name); // Input file
+    if (!pmFPACopy(photFile->fpa, inFile->fpa)) {
+        psError(PS_ERR_UNKNOWN, false, "Unable to copy FPA for photometry");
+        psFree(view);
+        return false;
+    }
     pmReadout *photRO = pmFPAviewThisReadout(view, photFile->fpa); // Readout to photometer
-    if (!photRO) {
-        pmCell *cell = pmFPAviewThisCell(view, photFile->fpa); // Cell to photometer
-        photRO = pmReadoutAlloc(cell); // Output readout: subtraction
+    if (psMetadataLookup(photRO->analysis, "PSPHOT.SOURCES")) {
+        psMetadataRemoveKey(photRO->analysis, "PSPHOT.SOURCES");
     }
-    photRO->image = psImageCopy(photRO->image, inRO->image, PS_TYPE_F32);
-    if (inRO->variance) {
-        photRO->variance = psImageCopy(photRO->variance, inRO->variance, PS_TYPE_F32);
-    } else {
-        psFree(photRO->variance);
-        photRO->variance = NULL;
-    }
-    if (inRO->mask) {
-        photRO->mask = psImageCopy(photRO->mask, inRO->mask, PS_TYPE_IMAGE_MASK);
-    } else {
-        psFree(photRO->mask);
-        photRO->mask = NULL;
-    }
+
     psMetadataAddPtr(photRO->parent->parent->analysis, PS_LIST_TAIL, "PSPHOT.PSF",
                      PS_META_REPLACE | PS_DATA_UNKNOWN, "Point-spread function", data->psf);
