Index: /trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 3285)
+++ /trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java	(revision 3286)
@@ -147,4 +147,8 @@
                 nodesNo--;
             }
+            if(name.length() == 0 )
+                name = String.valueOf(way.getId());
+            /* note: length == 0 should no longer happen, but leave the bracket code
+               nevertheless, who knows what future brings */
             String nodes = trn("{0} node", "{0} nodes", nodesNo, nodesNo);
             name += (name.length() > 0) ? " ("+nodes+")" : nodes;
@@ -357,4 +361,8 @@
         int nodesNo = way.isClosed() ? way.getNumNodes() -1 : way.getNumNodes();
         String nodes = trn("{0} node", "{0} nodes", nodesNo, nodesNo);
+        if(sb.length() == 0 )
+            sb.append(way.getId());
+        /* note: length == 0 should no longer happen, but leave the bracket code
+           nevertheless, who knows what future brings */
         sb.append((sb.length() > 0) ? " ("+nodes+")" : nodes);
         decorateNameWithId(sb, way);
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 3285)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 3286)
@@ -455,4 +455,10 @@
             if (history.getFirst().equals(selection)) return;
             history.addFirst(selection);
+            for(int i = 1; i < history.size(); ++i) {
+                if(history.get(i).equals(selection)) {
+                    history.remove(i);
+                    break;
+                }
+            }
             while (history.size() > SELECTION_HISTORY_SIZE) {
                 history.removeLast();
@@ -685,4 +691,5 @@
      */
     protected static class SelectionMenuItem extends JMenuItem implements ActionListener {
+        final private DefaultNameFormatter df = DefaultNameFormatter.getInstance();
         protected Collection<? extends OsmPrimitive> sel;
 
@@ -715,5 +722,13 @@
                 .append(trn("{0} relation", "{0} relations", relations, relations));
             }
-            setText(tr("Selection: {0}", text));
+            if(ways + nodes + relations == 1)
+            {
+                text.append(": ");
+                for(OsmPrimitive o : sel)
+                   text.append(o.getDisplayName(df));
+                setText(text.toString());
+            }
+            else
+                setText(tr("Selection: {0}", text));
             addActionListener(this);
         }
