Index: trunk/psModules/src/objects/pmPhotObj.c
===================================================================
--- trunk/psModules/src/objects/pmPhotObj.c	(revision 27657)
+++ trunk/psModules/src/objects/pmPhotObj.c	(revision 28013)
@@ -58,8 +58,26 @@
     if (!object->sources) {
 	object->sources = psArrayAllocEmpty(1);
-	object->x = source->peak->xf;
-	object->y = source->peak->yf;
+	object->x  = source->peak->xf;
+	object->y  = source->peak->yf;
+	object->SN = source->peak->SN;
+    } else {
+	object->SN = PS_MAX(object->SN, source->peak->SN);
     }
     psArrayAdd (object->sources, 1, source);
     return true;
 }
+
+// sort by SN (descending)
+int pmPhotObjSortBySN (const void **a, const void **b)
+{
+    pmPhotObj *objA = *(pmPhotObj **)a;
+    pmPhotObj *objB = *(pmPhotObj **)b;
+
+    psF32 fA = objA->SN;
+    psF32 fB = objB->SN;
+
+    psF32 diff = fA - fB;
+    if (diff > FLT_EPSILON) return (-1);
+    if (diff < FLT_EPSILON) return (+1);
+    return (0);
+}
