Index: /trunk/Ohana/src/opihi/dvo/find_matches.c
===================================================================
--- /trunk/Ohana/src/opihi/dvo/find_matches.c	(revision 29122)
+++ /trunk/Ohana/src/opihi/dvo/find_matches.c	(revision 29123)
@@ -10,7 +10,7 @@
   off_t *N1, *N2;
   double *X1, *Y1, *X2, *Y2;
-  double dX, dY, dR;
+  double dX, dY, dR, Doff, Dmin, Dmax, Rmin, Rmax;
   int status;
-  double RADIUS2, Rmin;
+  double RADIUS2, RadMin;
   off_t Nave;
   Coords tcoords;
@@ -52,11 +52,27 @@
   strcpy (tcoords.ctype, "RA---ARC");
 
+  // this region includes a boundary layer of size RADIUS
+  if (fabs(region[0].Dmin) < fabs(region[0].Dmax)) {
+    Doff = RAD_DEG*region[0].Dmax;
+  } else {
+    Doff = RAD_DEG*region[0].Dmin;
+  }    
+  if (Doff < 80) {
+    Rmin = region[0].Rmin - RADIUS / 3600.0 / cos(Doff);
+    Rmax = region[0].Rmax + RADIUS / 3600.0 / cos(Doff);
+  } else {
+    Rmin = 0.0;
+    Rmax = 360.0;
+  }
+  Dmin = region[0].Dmin - RADIUS / 3600.0;
+  Dmax = region[0].Dmax + RADIUS / 3600.0;
+
   // identify the entries contained by this catalog & init index
   for (i = 0; i < Npoints; i++) {
     index[i] = -1;
-    if (RAvec->elements.Flt[i] < region[0].Rmin) continue;
-    if (RAvec->elements.Flt[i] > region[0].Rmax) continue;
-    if (DECvec->elements.Flt[i] < region[0].Dmin) continue;
-    if (DECvec->elements.Flt[i] > region[0].Dmax) continue;
+    if (RAvec->elements.Flt[i] < Rmin) continue;
+    if (RAvec->elements.Flt[i] > Rmax) continue;
+    if (DECvec->elements.Flt[i] < Dmin) continue;
+    if (DECvec->elements.Flt[i] > Dmax) continue;
     index[i] = -2;
   }
@@ -100,5 +116,5 @@
     /* within match range; look for matches */
     Jmin = -1;
-    Rmin = RADIUS2;
+    RadMin = RADIUS2;
     for (J = j; (dX > -1.02*RADIUS) && (J < Nave); J++) {
       /* find closest match for this detection */
@@ -107,6 +123,6 @@
       dR = dX*dX + dY*dY;
       if (dR > RADIUS2) continue;
-      if (dR < Rmin) {
-	Rmin = dR;
+      if (dR < RadMin) {
+	RadMin = dR;
 	Jmin  = J;
       }
