Index: /branches/eam_branches/20091201/psModules/src/objects/pmFootprintCullPeaks.c
===================================================================
--- /branches/eam_branches/20091201/psModules/src/objects/pmFootprintCullPeaks.c	(revision 26629)
+++ /branches/eam_branches/20091201/psModules/src/objects/pmFootprintCullPeaks.c	(revision 26630)
@@ -117,14 +117,16 @@
         psFree(peakFootprint);
 
-        // Check if any of the previous (brighter) peaks are within the footprint of this peak
-        // If so, the current peak is bogus; drop it.
+        // If this peak has not already been assigned to a source, then we can look for any
+        // brighter peaks within its footprint. Check if any of the previous (brighter) peaks
+        // are within the footprint of this peak If so, the current peak is bogus; drop it.
         bool keep = true;
-        for (int j = 0; keep && (j < brightPeaks->n); j++) {
+        for (int j = 0; keep && !peak->assigned && (j < brightPeaks->n); j++) {
             const pmPeak *peak2 = fp->peaks->data[j];
             int x2 = peak2->x - subImg->col0;
             int y2 = peak2->y - subImg->row0;
-            if (idImg->data.S32[y2][x2] == IN_PEAK)
+            if (idImg->data.S32[y2][x2] == IN_PEAK) {
                 // There's a brighter peak within the footprint above threshold; so cull our initial peak
                 keep = false;
+	    }
         }
         if (!keep) {
