Index: /trunk/Ohana/src/libdvo/src/skyregion_ops.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/skyregion_ops.c	(revision 14288)
+++ /trunk/Ohana/src/libdvo/src/skyregion_ops.c	(revision 14289)
@@ -200,5 +200,5 @@
 SkyList *SkyListByBounds (SkyTable *table, int depth, double Rmin, double Rmax, double Dmin, double Dmax) {
 
-  int i, Ns;
+  int i, j, Ns;
   SkyList *list, *extra;
 
@@ -219,8 +219,17 @@
     Ns = list[0].Nregions;
     for (i = 0; i < extra[0].Nregions; i++) {
-      list[0].regions[i + Ns] = extra[0].regions[i];
-      list[0].filename[i + Ns] = extra[0].filename[i];
-    }
-    list[0].Nregions += extra[0].Nregions;
+      // search for pre-existing match
+      for (j = 0; j < list[0].Nregions; j++) {
+	if (list[0].regions[j] == extra[0].regions[i]) {
+	  goto skip;
+	}
+      }
+      list[0].regions[Ns] = extra[0].regions[i];
+      list[0].filename[Ns] = extra[0].filename[i];
+      Ns ++;
+    skip:
+      continue;
+    }
+    list[0].Nregions = Ns;
     SkyListFree (extra, FALSE);
   } else {
