Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 13170)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ChildRelationBrowser.java	(revision 13171)
@@ -10,4 +10,6 @@
 import java.awt.FlowLayout;
 import java.awt.event.ActionEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 import java.io.IOException;
 import java.net.HttpURLConnection;
@@ -66,4 +68,7 @@
     private transient OsmDataLayer layer;
 
+    /** the editAction used in the bottom panel and for doubleClick */
+    private EditAction editAction;
+
     /**
      * Replies the {@link OsmDataLayer} this editor is related to
@@ -85,4 +90,20 @@
 
         add(buildButtonPanel(), BorderLayout.SOUTH);
+        childTree.setToggleClickCount(0);
+        childTree.addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseClicked(MouseEvent e) {
+                if (e.getClickCount() == 2
+                    && !e.isAltDown() && !e.isAltGraphDown() && !e.isControlDown() && !e.isMetaDown() && !e.isShiftDown()
+                    && childTree.getRowForLocation(e.getX(), e.getY()) == childTree.getMinSelectionRow()) {
+                    Relation r = (Relation) childTree.getLastSelectedPathComponent();
+                    if (r.isIncomplete()) {
+                        childTree.expandPath(childTree.getSelectionPath());
+                    } else {
+                        editAction.actionPerformed(new ActionEvent(e.getSource(), ActionEvent.ACTION_PERFORMED, null));
+                    }
+                }
+            }
+        });
     }
 
@@ -105,5 +126,5 @@
 
         // ---
-        EditAction editAction = new EditAction();
+        editAction = new EditAction();
         childTree.addTreeSelectionListener(editAction);
         pnl.add(new JButton(editAction));
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java	(revision 13170)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/ReferringRelationsBrowser.java	(revision 13171)
@@ -45,5 +45,5 @@
      * Constructs a new {@code ReferringRelationsBrowser}.
      * @param layer OSM data layer
-     * @param model referrinf relations browser model
+     * @param model referring relations browser model
      */
     public ReferringRelationsBrowser(OsmDataLayer layer, ReferringRelationsBrowserModel model) {
@@ -62,5 +62,14 @@
         add(new JScrollPane(referrers), BorderLayout.CENTER);
         referrers.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-        referrers.addMouseListener(new DblClickMouseAdapter());
+        referrers.addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseClicked(MouseEvent e) {
+                if (e.getClickCount() == 2
+                    && !e.isAltDown() && !e.isAltGraphDown() && !e.isControlDown() && !e.isMetaDown() && !e.isShiftDown()
+                    && referrers.getCellBounds(referrers.getSelectedIndex(), referrers.getSelectedIndex()).contains(e.getPoint())) {
+                    editAction.actionPerformed(new ActionEvent(e.getSource(), ActionEvent.ACTION_PERFORMED, null));
+                }
+            }
+        });
 
         JPanel pnl = new JPanel(new FlowLayout(FlowLayout.LEFT));
@@ -171,12 +180,3 @@
         }
     }
-
-    class DblClickMouseAdapter extends MouseAdapter {
-        @Override
-        public void mouseClicked(MouseEvent e) {
-            if (e.getClickCount() == 2) {
-                editAction.run();
-            }
-        }
-    }
 }
