Index: /branches/eam_branches/ipp-20111122/Ohana/src/relastro/include/relastro.h
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/relastro/include/relastro.h	(revision 33620)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/relastro/include/relastro.h	(revision 33621)
@@ -169,4 +169,5 @@
 int    PM_TOOFEW;
 double PM_DT_MIN;
+double PAR_FACTOR_MIN;
 int    PLOTDELAY;
 int    CHIPORDER;
Index: /branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/ConfigInit.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/ConfigInit.c	(revision 33620)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/ConfigInit.c	(revision 33621)
@@ -29,4 +29,6 @@
   GetConfig (config, "PM_TOOFEW",              "%d",  0, &PM_TOOFEW);
   GetConfig (config, "POS_TOOFEW",             "%d",  0, &POS_TOOFEW);
+
+  GetConfig (config, "PAR_FACTOR_MIN",         "%lf", 0, &PAR_FACTOR_MIN);
 
   GetConfig (config, "RELASTRO_MAP_NX",        "%d",  0, &NX_MAP);
Index: /branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/UpdateObjects.c
===================================================================
--- /branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/UpdateObjects.c	(revision 33620)
+++ /branches/eam_branches/ipp-20111122/Ohana/src/relastro/src/UpdateObjects.c	(revision 33621)
@@ -241,11 +241,25 @@
 	// fprintf (stderr, "parallax fitting is still untested (%s, %d)\n", __FILE__, __LINE__);
 
+	float pXmin = +2.0;
+	float pXmax = -2.0;
+	float pYmin = +2.0;
+	float pYmax = -2.0;
 	for (k = 0; k < N; k++) {
 	  ParFactor (&pX[k], &pY[k], R[k], D[k], T[k], Tmean);
-	}
-	FitPMandPar (&fitPAR, X, dX, Y, dY, T, pX, pY, N, XVERB);
-	XY_to_RD (&fitPAR.Ro, &fitPAR.Do, fitPAR.Ro, fitPAR.Do, &coords);
-	catalog[i].average[j].flags |= ID_STAR_FIT_PAR;
-	Npar ++;
+	  pXmin = MIN (pXmin, pX[k]);
+	  pXmax = MAX (pXmax, pX[k]);
+	  pYmin = MIN (pYmin, pY[k]);
+	  pYmax = MAX (pYmax, pY[k]);
+	}
+	float dXRange = pXmax - pXmin;
+	float dYRange = pYmax - pYmin;
+	float parRange = hypot (dXRange, dYRange);
+	
+	if (parRange >= PAR_FACTOR_MIN) {
+	  FitPMandPar (&fitPAR, X, dX, Y, dY, T, pX, pY, N, XVERB);
+	  XY_to_RD (&fitPAR.Ro, &fitPAR.Do, fitPAR.Ro, fitPAR.Do, &coords);
+	  catalog[i].average[j].flags |= ID_STAR_FIT_PAR;
+	  Npar ++;
+	}
       }	  
 
