Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 2722)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 2723)
@@ -12,4 +12,5 @@
 import java.awt.GridBagLayout;
 import java.awt.GridLayout;
+import java.awt.Point;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -41,4 +42,5 @@
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
@@ -75,4 +77,5 @@
 import org.openstreetmap.josm.gui.tagging.TaggingPreset;
 import org.openstreetmap.josm.gui.widgets.AutoCompleteComboBox;
+import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -472,4 +475,18 @@
         membershipData.setColumnIdentifiers(new String[]{tr("Member Of"),tr("Role")});
         membershipTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        membershipTable.addMouseListener(new PopupMenuLauncher() {
+            @Override
+            public void launch(MouseEvent evt) {
+                Point p = evt.getPoint();
+                int row = membershipTable.rowAtPoint(p);
+                if (row > -1) {
+                    JPopupMenu menu = new JPopupMenu();
+                    Relation relation = (Relation)membershipData.getValueAt(row, 0);
+                    menu.add(new SelectRelationAction(relation, true));
+                    menu.add(new SelectRelationAction(relation, false));
+                    menu.show(membershipTable, p.x, p.y-3);
+                }
+            }
+        });
 
         membershipTable.getColumnModel().getColumn(0).setCellRenderer(new DefaultTableCellRenderer() {
@@ -535,5 +552,5 @@
         presets.setSize(scrollPane.getSize());
 
-        JPanel buttonPanel = new JPanel(new GridLayout(1,3));
+        JPanel buttonPanel = getButtonPanel(3);
 
         // -- add action and shortcut
@@ -904,3 +921,26 @@
         }
     }
+
+    class SelectRelationAction extends AbstractAction {
+        boolean selectionmode;
+        Relation relation;
+        public SelectRelationAction(Relation r, boolean select) {
+            selectionmode = select;
+            relation = r;
+            if(select) {
+              putValue(NAME, tr("Select relation"));
+              putValue(SHORT_DESCRIPTION, tr("Select relation in main selection."));
+            } else {
+              putValue(NAME, tr("Select in relation list"));
+              putValue(SHORT_DESCRIPTION, tr("Select relation in relation list."));
+            }
+        }
+
+        public void actionPerformed(ActionEvent e) {
+            if(selectionmode)
+                Main.map.mapView.getEditLayer().data.setSelected(relation);
+            else
+                Main.map.relationListDialog.selectRelation(relation);
+        }
+    }
 }
