Index: /applications/editors/josm/plugins/relcontext/src/relcontext/ChosenRelation.java
===================================================================
--- /applications/editors/josm/plugins/relcontext/src/relcontext/ChosenRelation.java	(revision 25679)
+++ /applications/editors/josm/plugins/relcontext/src/relcontext/ChosenRelation.java	(revision 25680)
@@ -103,5 +103,5 @@
         Composite oldComposite = g.getComposite();
         g.setColor(Color.yellow);
-        g.setStroke(new BasicStroke(6, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
+        g.setStroke(new BasicStroke(9, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
         g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f));
         for( OsmPrimitive element : chosenRelation.getMemberPrimitives() ) {
Index: /applications/editors/josm/plugins/relcontext/src/relcontext/RelContextDialog.java
===================================================================
--- /applications/editors/josm/plugins/relcontext/src/relcontext/RelContextDialog.java	(revision 25679)
+++ /applications/editors/josm/plugins/relcontext/src/relcontext/RelContextDialog.java	(revision 25680)
@@ -300,5 +300,5 @@
 
     private static final Map<String, String[]> possibleRoles = new HashMap<String, String[]>();
-    {
+    static {
         possibleRoles.put("boundary", new String[] {"admin_centre", "label", "subarea"});
         possibleRoles.put("route", new String[] {"forward", "backward", "stop", "platform"});
@@ -411,4 +411,7 @@
             add(new DeleteChosenRelationAction(chosenRelation));
             add(new DownloadParentsAction(chosenRelation));
+            addSeparator();
+            add(new SelectInRelationPanelAction(chosenRelation));
+            add(new RelationHelpAction(chosenRelation));
         }
     }
Index: /applications/editors/josm/plugins/relcontext/src/relcontext/actions/RelationHelpAction.java
===================================================================
--- /applications/editors/josm/plugins/relcontext/src/relcontext/actions/RelationHelpAction.java	(revision 25680)
+++ /applications/editors/josm/plugins/relcontext/src/relcontext/actions/RelationHelpAction.java	(revision 25680)
@@ -0,0 +1,103 @@
+package relcontext.actions;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+import java.awt.event.ActionEvent;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.AbstractAction;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.LanguageInfo;
+import org.openstreetmap.josm.tools.OpenBrowser;
+import relcontext.ChosenRelation;
+import relcontext.ChosenRelationListener;
+
+public class RelationHelpAction extends AbstractAction implements ChosenRelationListener {
+    private ChosenRelation rel;
+
+    public RelationHelpAction( ChosenRelation rel ) {
+        super();
+        putValue(NAME, tr("Relation wiki page"));
+        putValue(SHORT_DESCRIPTION, tr("Launch browser with wiki help for selected object"));
+        putValue(SMALL_ICON, ImageProvider.get("dialogs", "search"));
+        this.rel = rel;
+        rel.addChosenRelationListener(this);
+        setEnabled(false);
+    }
+
+    /**
+     * Copypasted from {@link org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.HelpAction}.
+     */
+    public void actionPerformed( ActionEvent e ) {
+        if( rel.get() == null )
+            return;
+        try {
+            String base = Main.pref.get("url.openstreetmap-wiki", "http://wiki.openstreetmap.org/wiki/");
+            String lang = LanguageInfo.getWikiLanguagePrefix();
+            final List<URI> uris = new ArrayList<URI>();
+            String type = URLEncoder.encode(rel.get().get("type"), "UTF-8");
+
+            if (type != null && !type.equals("")) {
+                uris.add(new URI(String.format("%s%sRelation:%s", base, lang, type)));
+                uris.add(new URI(String.format("%sRelation:%s", base, type)));
+            }
+
+            uris.add(new URI(String.format("%s%sRelations", base, lang)));
+            uris.add(new URI(String.format("%sRelations", base)));
+
+            Main.worker.execute(new Runnable(){
+                public void run() {
+                    try {
+                        // find a page that actually exists in the wiki
+                        HttpURLConnection conn;
+                        for (URI u : uris) {
+                            conn = (HttpURLConnection) u.toURL().openConnection();
+                            conn.setConnectTimeout(5000);
+
+                            if (conn.getResponseCode() != 200) {
+                                System.out.println("INFO: " + u + " does not exist");
+                                conn.disconnect();
+                            } else {
+                                int osize = conn.getContentLength();
+                                conn.disconnect();
+
+                                conn = (HttpURLConnection) new URI(u.toString()
+                                        .replace("=", "%3D") /* do not URLencode whole string! */
+                                        .replaceFirst("/wiki/", "/w/index.php?redirect=no&title=")
+                                ).toURL().openConnection();
+                                conn.setConnectTimeout(5000);
+
+                                /* redirect pages have different content length, but retrieving a "nonredirect"
+                                 *  page using index.php and the direct-link method gives slightly different
+                                 *  content lengths, so we have to be fuzzy.. (this is UGLY, recode if u know better)
+                                 */
+                                if (Math.abs(conn.getContentLength() - osize) > 200) {
+                                    System.out.println("INFO: " + u + " is a mediawiki redirect");
+                                    conn.disconnect();
+                                } else {
+                                    System.out.println("INFO: browsing to " + u);
+                                    conn.disconnect();
+
+                                    OpenBrowser.displayUrl(u.toString());
+                                    break;
+                                }
+                            }
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            });
+        } catch (Exception e1) {
+            e1.printStackTrace();
+        }
+    }
+
+    public void chosenRelationChanged( Relation oldRelation, Relation newRelation ) {
+        setEnabled(newRelation != null);
+    }
+}
Index: /applications/editors/josm/plugins/relcontext/src/relcontext/actions/SelectInRelationPanelAction.java
===================================================================
--- /applications/editors/josm/plugins/relcontext/src/relcontext/actions/SelectInRelationPanelAction.java	(revision 25680)
+++ /applications/editors/josm/plugins/relcontext/src/relcontext/actions/SelectInRelationPanelAction.java	(revision 25680)
@@ -0,0 +1,35 @@
+package relcontext.actions;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+import java.awt.event.ActionEvent;
+import javax.swing.AbstractAction;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.osm.Relation;
+import org.openstreetmap.josm.tools.ImageProvider;
+import relcontext.ChosenRelation;
+import relcontext.ChosenRelationListener;
+
+public class SelectInRelationPanelAction extends AbstractAction implements ChosenRelationListener {
+    private ChosenRelation rel;
+
+    public SelectInRelationPanelAction( ChosenRelation rel ) {
+        super();
+        putValue(NAME, tr("Select in relation list"));
+        putValue(SHORT_DESCRIPTION, tr("Select relation in relation list."));
+        putValue(SMALL_ICON, ImageProvider.get("dialogs", "relationlist"));
+        this.rel = rel;
+        rel.addChosenRelationListener(this);
+        setEnabled(false);
+    }
+
+    public void actionPerformed( ActionEvent e ) {
+        if( rel.get() != null ) {
+            Main.map.relationListDialog.selectRelation(rel.get());
+            Main.map.relationListDialog.unfurlDialog();
+        }
+    }
+
+    public void chosenRelationChanged( Relation oldRelation, Relation newRelation ) {
+        setEnabled(newRelation != null);
+    }
+}
