Index: branch/0.5/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- branch/0.5/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 333)
+++ branch/0.5/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 334)
@@ -168,17 +168,16 @@
 					continue;
 				}
-				if (ignore != null && ignore.contains(new WaySegment(w, i))) {
-					continue;
-				}
-				Point A = getPoint(lastN.eastNorth);
-				Point B = getPoint(n.eastNorth);
-				double c = A.distanceSq(B);
-				double a = p.distanceSq(B);
-				double b = p.distanceSq(A);
-				double perDist = a-(a-b+c)*(a-b+c)/4/c; // perpendicular distance squared
-				if (perDist < 100 && minDistanceSq > perDist && a < c+100 && b < c+100) {
-					minDistanceSq = perDist;
-					minPrimitive = w;
-					minI = i;
+				if (ignore == null || !ignore.contains(new WaySegment(w, i))) {
+					Point A = getPoint(lastN.eastNorth);
+					Point B = getPoint(n.eastNorth);
+					double c = A.distanceSq(B);
+					double a = p.distanceSq(B);
+					double b = p.distanceSq(A);
+					double perDist = a-(a-b+c)*(a-b+c)/4/c; // perpendicular distance squared
+					if (perDist < 100 && minDistanceSq > perDist && a < c+100 && b < c+100) {
+						minDistanceSq = perDist;
+						minPrimitive = w;
+						minI = i;
+					}
 				}
 				lastN = n;
