Index: trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 3113)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 3114)
@@ -13,4 +13,5 @@
 import java.awt.event.ActionListener;
 import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.ArrayList;
@@ -35,4 +36,5 @@
 import javax.swing.ListSelectionModel;
 import javax.swing.SwingConstants;
+import javax.swing.SwingUtilities;
 import javax.swing.event.ListDataEvent;
 import javax.swing.event.ListDataListener;
@@ -171,4 +173,5 @@
 
         lstPrimitives.addMouseListener(new SelectionPopupMenuLauncher());
+        lstPrimitives.addMouseListener(new DblClickHandler());
     }
 
@@ -198,4 +201,19 @@
         parentButton.add(arrowButton, BorderLayout.EAST);
         return arrowButton;
+    }
+
+    /**
+     * Responds to double clicks on the list of selected objects
+     */
+    class DblClickHandler extends MouseAdapter {
+        @Override
+        public void mouseClicked(MouseEvent e) {
+            if (e.getClickCount() < 2 || ! SwingUtilities.isLeftMouseButton(e)) return;
+            int idx = lstPrimitives.locationToIndex(e.getPoint());
+            if (idx < 0) return;
+            OsmDataLayer layer = Main.main.getEditLayer();
+            if(layer == null) return;
+            layer.data.setSelected(Collections.singleton((OsmPrimitive)model.getElementAt(idx)));
+        }
     }
 
