Index: trunk/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java	(revision 9182)
+++ trunk/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java	(revision 9183)
@@ -49,5 +49,5 @@
         }
         for (Relation r : ds.getRelations()) {
-            if (r.isUsable() && r.isMultipolygon()) {
+            if (r.isUsable() && r.isMultipolygon() && r.isSelectable()) {
                 if (Geometry.isNodeInsideMultiPolygon(n, r, null)) {
                     for (RelationMember m : r.getMembers()) {
@@ -68,5 +68,4 @@
         return found.values();
     }
-
 
     /**
Index: trunk/src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 9182)
+++ trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 9183)
@@ -2,4 +2,6 @@
 package org.openstreetmap.josm.gui;
 
+import static org.openstreetmap.josm.data.osm.OsmPrimitive.isSelectablePredicate;
+import static org.openstreetmap.josm.data.osm.OsmPrimitive.isUsablePredicate;
 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.marktr;
@@ -73,4 +75,5 @@
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.Predicate;
 
 /**
@@ -285,5 +288,10 @@
                     // display them if the middle mouse button is pressed and keep them until the mouse is moved
                     if (middleMouseDown || isAtOldPosition) {
-                        Collection<OsmPrimitive> osms = mv.getAllNearest(ms.mousePos, OsmPrimitive.isUsablePredicate);
+                        Collection<OsmPrimitive> osms = mv.getAllNearest(ms.mousePos, new Predicate<OsmPrimitive>() {
+                            @Override
+                            public boolean evaluate(OsmPrimitive o) {
+                                return isUsablePredicate.evaluate(o) && isSelectablePredicate.evaluate(o);
+                            }
+                        });
 
                         final JPanel c = new JPanel(new GridBagLayout());
@@ -432,5 +440,5 @@
          */
         private void statusBarElementUpdate(MouseState ms) {
-            final OsmPrimitive osmNearest = mv.getNearestNodeOrWay(ms.mousePos, OsmPrimitive.isUsablePredicate, false);
+            final OsmPrimitive osmNearest = mv.getNearestNodeOrWay(ms.mousePos, isUsablePredicate, false);
             if (osmNearest != null) {
                 nameText.setText(osmNearest.getDisplayName(DefaultNameFormatter.getInstance()));
