Index: src/org/openstreetmap/josm/gui/help/HelpBrowser.java
===================================================================
--- src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 17046)
+++ src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(working copy)
@@ -135,6 +135,12 @@
             return ss;
         }
         ss.addRule(css);
+
+        // overwrite link color
+        String linkColor = JosmEditorPane.getLinkColor(null);
+        if (linkColor != null) {
+            ss.addRule("a {color: "+linkColor+"}");
+        }
         return ss;
     }
 
Index: src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
===================================================================
--- src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java	(revision 17046)
+++ src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java	(working copy)
@@ -100,7 +100,7 @@
         final Font f = UIManager.getFont("Label.font");
         final StyleSheet ss = new StyleSheet();
         ss.addRule((allBold ? "html" : "strong, b") + " {" + getFontRule(f) + '}');
-        ss.addRule("a {text-decoration: underline; color: blue}");
+        ss.addRule("a {text-decoration: underline; color: "+getLinkColor("blue")+"}");
         ss.addRule("h1 {" + getFontRule(GuiHelper.getTitleFont()) + '}');
         ss.addRule("ol {margin-left: 1cm; margin-top: 0.1cm; margin-bottom: 0.2cm; list-style-type: decimal}");
         ss.addRule("ul {margin-left: 1cm; margin-top: 0.1cm; margin-bottom: 0.2cm; list-style-type: disc}");
@@ -140,6 +140,19 @@
         );
     }
 
+    /**
+     * Returns the color (in CSS format) that should be used for links.
+     * If the current look and feel does not provide a link color, the passed default color is used.
+     * @param defaultColor the default color
+     * @return link color
+     */
+    public static String getLinkColor(String defaultColor) {
+        Color color = UIManager.getColor("Component.linkColor");
+        return (color != null)
+                ? String.format("#%06x", color.getRGB() & 0xffffff)
+                : defaultColor;
+    }
+
     @Override
     public void destroy() {
         TextContextualPopupMenu.disableMenuFor(this, launcher);
Index: src/org/openstreetmap/josm/gui/widgets/HtmlPanel.java
===================================================================
--- src/org/openstreetmap/josm/gui/widgets/HtmlPanel.java	(revision 17046)
+++ src/org/openstreetmap/josm/gui/widgets/HtmlPanel.java	(working copy)
@@ -56,7 +56,7 @@
                 "bold",
                 f.isItalic() ? "italic" : "normal"
         ) + '}');
-        ss.addRule("a {text-decoration: underline; color: blue}");
+        ss.addRule("a {text-decoration: underline; color: "+JosmEditorPane.getLinkColor("blue")+"}");
         ss.addRule("ul {margin-left: 1cm; list-style-type: disc}");
         JosmHTMLEditorKit kit = new JosmHTMLEditorKit();
         kit.setStyleSheet(ss);
Index: src/org/openstreetmap/josm/gui/GettingStarted.java
===================================================================
--- src/org/openstreetmap/josm/gui/GettingStarted.java	(revision 17046)
+++ src/org/openstreetmap/josm/gui/GettingStarted.java	(working copy)
@@ -56,7 +56,7 @@
     private static final String STYLE = "<style type=\"text/css\">\n"
             + "body {font-family: sans-serif; font-weight: bold; }\n"
             + "h1 {text-align: center; }\n"
-            + "a {color: #316ed9; }\n"
+            + "a {color: "+JosmEditorPane.getLinkColor("#316ed9")+"; }\n"
             + ".icon {font-size: 0; }\n"
             + "</style>\n";
 
