Index: /branches/eam_branches/ipp-20130419/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- /branches/eam_branches/ipp-20130419/psModules/src/camera/pmFPAfileIO.c	(revision 35515)
+++ /branches/eam_branches/ipp-20130419/psModules/src/camera/pmFPAfileIO.c	(revision 35516)
@@ -382,8 +382,8 @@
     // (existing) fpa
     if (file->type == PM_FPA_FILE_CMF) {
-        if (!pmFPAviewCheckDataStatusForSources (view, file)) {
-        psTrace("psModules.camera", 6, "skip write for %s, no data for this entry", file->name);
-        return true;
-      }
+	if (!pmFPAviewCheckDataStatusForSources (view, file)) {
+	    psTrace("psModules.camera", 6, "skip write for %s, no data for this entry", file->name);
+	    return true;
+	}
     }
     if (file->type == PM_FPA_FILE_PSF) {
Index: /branches/eam_branches/ipp-20130419/psModules/src/objects/pmSourceIO.c
===================================================================
--- /branches/eam_branches/ipp-20130419/psModules/src/objects/pmSourceIO.c	(revision 35515)
+++ /branches/eam_branches/ipp-20130419/psModules/src/objects/pmSourceIO.c	(revision 35516)
@@ -1138,7 +1138,8 @@
     readout->data_exists = true;
 
+    // if we have a prior set of detections on this readout, we will replace them here
     pmDetections *detections = pmDetectionsAlloc();
     detections->allSources = sources;
-    status = psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSPHOT.DETECTIONS", PS_DATA_ARRAY, "input sources", detections);
+    status = psMetadataAdd (readout->analysis, PS_LIST_TAIL, "PSPHOT.DETECTIONS", PS_DATA_ARRAY | PS_META_REPLACE, "input sources", detections);
     psFree (detections);
     return true;
