Index: trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 3237)
+++ trunk/src/org/openstreetmap/josm/gui/help/HelpBrowser.java	(revision 3238)
@@ -14,6 +14,6 @@
 import java.awt.event.WindowEvent;
 import java.io.BufferedReader;
-import java.io.IOException;
 import java.io.InputStreamReader;
+import java.io.StringReader;
 import java.util.Locale;
 import java.util.Observable;
@@ -28,5 +28,4 @@
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
-import javax.swing.JScrollBar;
 import javax.swing.JScrollPane;
 import javax.swing.JSeparator;
@@ -102,5 +101,4 @@
     /** the help browser */
     private JEditorPane help;
-    private JScrollPane spHelp;
 
     /** the help browser history */
@@ -166,5 +164,5 @@
         setContentPane(p);
 
-        p.add(spHelp = new JScrollPane(help), BorderLayout.CENTER);
+        p.add(new JScrollPane(help), BorderLayout.CENTER);
 
         addWindowListener(new WindowAdapter(){
@@ -205,4 +203,14 @@
         reader = new HelpContentReader(HelpUtil.getWikiBaseUrl());
         build();
+    }
+
+    protected void loadTopic(String content) {
+        Document document = help.getEditorKit().createDefaultDocument();
+        try {
+            help.getEditorKit().read(new StringReader(content), document, 0);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        help.setDocument(document);
     }
 
@@ -235,5 +243,5 @@
                 getHelpTopicEditUrl(buildAbsoluteHelpTopic(relativeHelpTopic, Locale.ENGLISH))
         );
-        help.setText(message);
+        loadTopic(message);
     }
 
@@ -253,10 +261,5 @@
                 e.toString()
         );
-        help.setText(message);
-    }
-
-    protected void scrollToTop() {
-        JScrollBar sb = spHelp.getVerticalScrollBar();
-        sb.setValue(sb.getMinimum());
+        loadTopic(message);
     }
 
@@ -293,8 +296,7 @@
             return;
         }
-        help.setText(content);
+        loadTopic(content);
         history.setCurrentUrl(url);
         this.url = url;
-        scrollToTop();
     }
 
@@ -319,8 +321,7 @@
             return;
         }
-        help.setText(content);
+        loadTopic(content);
         history.setCurrentUrl(url);
         this.url = url;
-        scrollToTop();
     }
 
@@ -345,8 +346,7 @@
                 this.url = url;
                 String content = reader.fetchHelpTopicContent(url, false);
-                help.setText(content);
+                loadTopic(content);
                 history.setCurrentUrl(url);
                 this.url = url;
-                scrollToTop();
             } catch(Exception e) {
                 HelpAwareOptionPane.showOptionDialog(
