Index: trunk/ppSub/src/ppSubMatchPSFs.c
===================================================================
--- trunk/ppSub/src/ppSubMatchPSFs.c	(revision 35239)
+++ trunk/ppSub/src/ppSubMatchPSFs.c	(revision 35240)
@@ -262,5 +262,6 @@
         lists->data[0] = psMemIncrRefCounter(inSources);
         lists->data[1] = psMemIncrRefCounter(refSources);
-        detections->allSources = pmSourceMatchMerge(lists, radius);
+	// XXX MEH changed to get only match (true to cull single), no apparent need of unmatched sources and can cause trouble
+        detections->allSources = pmSourceMatchMerge(lists, radius, true);
         psFree(lists);
         if (!detections->allSources) {
Index: trunk/psModules/src/objects/pmSourceMatch.c
===================================================================
--- trunk/psModules/src/objects/pmSourceMatch.c	(revision 35239)
+++ trunk/psModules/src/objects/pmSourceMatch.c	(revision 35240)
@@ -340,10 +340,12 @@
 
 
-psArray *pmSourceMatchMerge(psArray *sourceArrays, float radius)
+psArray *pmSourceMatchMerge(psArray *sourceArrays, float radius, bool cullSingles)
 {
     PS_ASSERT_ARRAY_NON_NULL(sourceArrays, NULL);
     PS_ASSERT_FLOAT_LARGER_THAN(radius, 0.0, NULL);
 
-    psArray *matches = pmSourceMatchSources(sourceArrays, radius, false); // Source matches
+    // XXX MEH - ppSub should only get matched list so cull true. merge refers to the picking of the first entry data for match
+    //psArray *matches = pmSourceMatchSources(sourceArrays, radius, false); // Source matches
+    psArray *matches = pmSourceMatchSources(sourceArrays, radius, cullSingles); // Source matches
     if (!matches) {
         psError(psErrorCodeLast(), false, "Unable to match source lists.");
Index: trunk/psModules/src/objects/pmSourceMatch.h
===================================================================
--- trunk/psModules/src/objects/pmSourceMatch.h	(revision 35239)
+++ trunk/psModules/src/objects/pmSourceMatch.h	(revision 35240)
@@ -68,5 +68,6 @@
 /// Sources are pulled from the lists into a new list, with no effort made to adjust them.
 psArray *pmSourceMatchMerge(psArray *sourceArrays, ///< Array of arrays of sources on each image
-                            float radius ///< Matching radius
+                            float radius, ///< Matching radius
+                            bool cullSingles ///< Cull "matches" with only a single source?
     );
 
