diff --git a/src/org/openstreetmap/josm/Main.java b/src/org/openstreetmap/josm/Main.java
index ecc19d7..3c90e3e 100644
--- a/src/org/openstreetmap/josm/Main.java
+++ b/src/org/openstreetmap/josm/Main.java
@@ -87,6 +87,7 @@ import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
 import org.openstreetmap.josm.gui.progress.ProgressMonitorExecutor;
 import org.openstreetmap.josm.gui.util.RedirectInputMap;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.I18n;
@@ -1078,7 +1079,7 @@ abstract public class Main {
                     version.startsWith("1.9") || version.startsWith("9"))
                 return;
             if (version.startsWith("1.5") || version.startsWith("5")) {
-                JLabel ho = new JLabel("<html>"+
+                JMultilineLabel ho = new JMultilineLabel("<html>"+
                         tr("<h2>JOSM requires Java version 6.</h2>"+
                                 "Detected Java version: {0}.<br>"+
                                 "You can <ul><li>update your Java (JRE) or</li>"+
diff --git a/src/org/openstreetmap/josm/actions/AboutAction.java b/src/org/openstreetmap/josm/actions/AboutAction.java
index 08dc17b..1b96bd3 100644
--- a/src/org/openstreetmap/josm/actions/AboutAction.java
+++ b/src/org/openstreetmap/josm/actions/AboutAction.java
@@ -14,10 +14,12 @@ import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTabbedPane;
+import javax.swing.text.DefaultEditorKit;
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Version;
 import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.JosmTextArea;
 import org.openstreetmap.josm.gui.widgets.UrlLabel;
 import org.openstreetmap.josm.plugins.PluginHandler;
@@ -73,16 +75,17 @@ public class AboutAction extends JosmAction {
         license.setCaretPosition(0);
 
         JPanel info = new JPanel(new GridBagLayout());
-        JLabel caption = new JLabel("JOSM – " + tr("Java OpenStreetMap Editor"));
-        caption.setFont(GuiHelper.getTitleFont());
-        info.add(caption, GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,10), GBC.eol());
-        info.add(new JLabel(tr("Version {0}", version.getVersionString())), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,5), GBC.eol());
-        info.add(new JLabel(tr("Last change at {0}",version.getTime())), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,5), GBC.eol());
-        info.add(new JLabel(tr("Java Version {0}",System.getProperty("java.version"))), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,10), GBC.eol());
+        final JMultilineLabel label = new JMultilineLabel("<html>" +
+                "<h1>" + "JOSM – " + tr("Java OpenStreetMap Editor") + "</h1>" +
+                "<p style='font-size:75%'></p>" +
+                "<p>" + tr("Version {0}", version.getVersionString()) + "</p>" +
+                "<p style='font-size:50%'></p>" +
+                "<p>" + tr("Last change at {0}", version.getTime()) + "</p>" +
+                "<p style='font-size:50%'></p>" +
+                "<p>" + tr("Java Version {0}", System.getProperty("java.version")) + "</p>" +
+                "<p style='font-size:50%'></p>" +
+                "</html>");
+        info.add(label, GBC.eol().fill(GBC.HORIZONTAL).insets(10, 0, 0, 0));
         info.add(new JLabel(tr("Homepage")), GBC.std().insets(10,0,10,0));
         info.add(new UrlLabel(Main.JOSM_WEBSITE,2), GBC.eol().fill(GBC.HORIZONTAL));
         info.add(GBC.glue(0,5), GBC.eol());
diff --git a/src/org/openstreetmap/josm/command/Command.java b/src/org/openstreetmap/josm/command/Command.java
index 108c29c..fb47b2d 100644
--- a/src/org/openstreetmap/josm/command/Command.java
+++ b/src/org/openstreetmap/josm/command/Command.java
@@ -26,6 +26,7 @@ import org.openstreetmap.josm.data.osm.visitor.AbstractVisitor;
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 
 /**
@@ -210,7 +211,7 @@ abstract public class Command extends PseudoCommand {
         }
         if (outside) {
             JPanel msg = new JPanel(new GridBagLayout());
-            msg.add(new JLabel("<html>" + outsideDialogMessage + "</html>"));
+            msg.add(new JMultilineLabel("<html>" + outsideDialogMessage + "</html>"));
             boolean answer = ConditionalOptionPaneUtil.showConfirmationDialog(
                     operation + "_outside_nodes",
                     Main.parent,
@@ -224,7 +225,7 @@ abstract public class Command extends PseudoCommand {
         }
         if (incomplete) {
             JPanel msg = new JPanel(new GridBagLayout());
-            msg.add(new JLabel("<html>" + incompleteDialogMessage + "</html>"));
+            msg.add(new JMultilineLabel("<html>" + incompleteDialogMessage + "</html>"));
             boolean answer = ConditionalOptionPaneUtil.showConfirmationDialog(
                     operation + "_incomplete",
                     Main.parent,
diff --git a/src/org/openstreetmap/josm/command/DeleteCommand.java b/src/org/openstreetmap/josm/command/DeleteCommand.java
index a63f4f0..38703a1 100644
--- a/src/org/openstreetmap/josm/command/DeleteCommand.java
+++ b/src/org/openstreetmap/josm/command/DeleteCommand.java
@@ -37,6 +37,7 @@ import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
 import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.actionsupport.DeleteFromRelationConfirmationDialog;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Utils;
@@ -465,7 +466,7 @@ public class DeleteCommand extends Command {
 
     private static boolean confirmRelationDeletion(Collection<Relation> relations) {
         JPanel msg = new JPanel(new GridBagLayout());
-        msg.add(new JLabel("<html>" + trn(
+        msg.add(new JMultilineLabel("<html>" + trn(
                 "You are about to delete {0} relation: {1}"
                 + "<br/>"
                 + "This step is rarely necessary and cannot be undone easily after being uploaded to the server."
diff --git a/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java b/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java
index 2dd5843..1d99441 100644
--- a/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java
+++ b/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java
@@ -18,6 +18,7 @@ import javax.swing.JPanel;
 import javax.swing.JRadioButton;
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -270,7 +271,7 @@ public final class ConditionalOptionPaneUtil {
             if (message instanceof Component) {
                 add((Component) message, GBC.eop());
             } else if (message != null) {
-                add(new JLabel(message.toString()), GBC.eop());
+                add(new JMultilineLabel(message.toString()), GBC.eop());
             }
             add(cbShowPermanentDialog, GBC.eol());
             add(cbShowSessionDialog, GBC.eol());
diff --git a/src/org/openstreetmap/josm/gui/SplashScreen.java b/src/org/openstreetmap/josm/gui/SplashScreen.java
index 6dd4bab..4a7c87f 100644
--- a/src/org/openstreetmap/josm/gui/SplashScreen.java
+++ b/src/org/openstreetmap/josm/gui/SplashScreen.java
@@ -64,7 +64,7 @@ public class SplashScreen extends JFrame {
         innerContentPane.add(logo, gbc);
 
         // Add the name of this application
-        JLabel caption = new JLabel("JOSM - " + tr("Java OpenStreetMap Editor"));
+        JLabel caption = new JLabel("JOSM – " + tr("Java OpenStreetMap Editor"));
         caption.setFont(GuiHelper.getTitleFont());
         gbc.gridheight = 1;
         gbc.gridx = 1;
diff --git a/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java b/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java
index 3a3a022..c102484 100644
--- a/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java
+++ b/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java
@@ -28,6 +28,7 @@ import javax.swing.event.HyperlinkListener;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.Changeset;
 import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.GBC;
@@ -55,8 +56,7 @@ public class BasicUploadSettingsPanel extends JPanel {
     protected JPanel buildUploadCommentPanel() {
         JPanel pnl = new JPanel(new GridBagLayout());
 
-        final JEditorPane commentLabel = JosmEditorPane.createJLabelLikePane();
-        commentLabel.setText("<html><b>" + tr("Provide a brief comment for the changes you are uploading:"));
+        final JEditorPane commentLabel = new JMultilineLabel("<html><b>" + tr("Provide a brief comment for the changes you are uploading:"));
         pnl.add(commentLabel, GBC.eol().insets(0, 5, 10, 3).fill(GBC.HORIZONTAL));
         hcbUploadComment.setToolTipText(tr("Enter an upload comment"));
         hcbUploadComment.setMaxTextLength(Changeset.MAX_COMMENT_LENGTH);
@@ -68,8 +68,7 @@ public class BasicUploadSettingsPanel extends JPanel {
         hcbUploadComment.getEditor().getEditorComponent().addFocusListener(commentModelListener);
         pnl.add(hcbUploadComment, GBC.eol().fill(GBC.HORIZONTAL));
 
-        final JEditorPane sourceLabel = JosmEditorPane.createJLabelLikePane();
-        sourceLabel.setText("<html><b>" + tr("Specify the data source for the changes")
+        final JEditorPane sourceLabel = new JMultilineLabel("<html><b>" + tr("Specify the data source for the changes")
                 + "</b> (<a href=\"urn:changeset-source\">" + tr("obtain from current layers") + "</a>)<b>:</b>");
         sourceLabel.addHyperlinkListener(new HyperlinkListener() {
             @Override
diff --git a/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java b/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java
index 2fd44a4..53afe08 100644
--- a/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java
+++ b/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java
@@ -15,6 +15,7 @@ import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkListener;
 
 import org.openstreetmap.josm.data.osm.Changeset;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -23,7 +24,7 @@ import org.openstreetmap.josm.tools.ImageProvider;
 public class UploadParameterSummaryPanel extends JPanel implements HyperlinkListener, PropertyChangeListener{
     private UploadStrategySpecification spec = new UploadStrategySpecification();
     private int numObjects;
-    private JosmEditorPane jepMessage;
+    private JMultilineLabel jepMessage;
     private JLabel lblWarning;
 
     private Changeset selectedChangeset;
@@ -98,7 +99,7 @@ public class UploadParameterSummaryPanel extends JPanel implements HyperlinkList
     }
 
     protected void build() {
-        jepMessage = JosmEditorPane.createJLabelLikePane();
+        jepMessage = new JMultilineLabel("");
         jepMessage.addHyperlinkListener(this);
 
         setLayout(new BorderLayout());
diff --git a/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java b/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
index df8082e..31f562b 100644
--- a/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
+++ b/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
@@ -107,7 +107,7 @@ public class UploadStrategySelectionPanel extends JPanel implements PropertyChan
         gc.weightx = 0.0;
         gc.weighty = 0.0;
         gc.gridwidth = 2;
-        JLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
+        JMultilineLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
         lbl.setText(tr("Upload data in one request"));
         pnl.add(lbl, gc);
         gc.gridx = 3;
@@ -319,8 +319,7 @@ public class UploadStrategySelectionPanel extends JPanel implements PropertyChan
         int maxChunkSize = OsmApi.getOsmApi().getCapabilities().getMaxChangesetSize();
         if (maxChunkSize > 0 && numUploadedObjects > maxChunkSize) {
             rbStrategy.get(UploadStrategy.SINGLE_REQUEST_STRATEGY).setEnabled(false);
-            JLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
-            lbl.setIcon(ImageProvider.get("warning-small.png"));
+            JMultilineLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
             lbl.setText(tr("Upload in one request not possible (too many objects to upload)"));
             lbl.setToolTipText(tr("<html>Cannot upload {0} objects in one request because the<br>"
                     + "max. changeset size {1} on server ''{2}'' is exceeded.</html>",
@@ -340,9 +339,8 @@ public class UploadStrategySelectionPanel extends JPanel implements PropertyChan
 
         } else {
             rbStrategy.get(UploadStrategy.SINGLE_REQUEST_STRATEGY).setEnabled(true);
-            JLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
+            JMultilineLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
             lbl.setText(tr("Upload data in one request"));
-            lbl.setIcon(null);
             lbl.setToolTipText("");
             lblNumRequests.get(UploadStrategy.SINGLE_REQUEST_STRATEGY).setVisible(true);
 
diff --git a/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java b/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java
index 8bfe243..71945ba 100644
--- a/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java
+++ b/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java
@@ -188,7 +188,7 @@ public class OAuthAuthenticationPreferencesPanel extends JPanel implements Prope
             gc.insets = new Insets(0,0,3,0);
             gc.fill = GridBagConstraints.HORIZONTAL;
             gc.weightx = 1.0;
-            JLabel lbl;
+            JMultilineLabel lbl;
             add(lbl = new JMultilineLabel(tr("You do not have an Access Token yet to access the OSM server using OAuth. Please authorize first.")), gc);
             lbl.setFont(lbl.getFont().deriveFont(Font.PLAIN));
 
@@ -227,7 +227,7 @@ public class OAuthAuthenticationPreferencesPanel extends JPanel implements Prope
             gc.fill = GridBagConstraints.HORIZONTAL;
             gc.weightx = 1.0;
             gc.gridwidth = 2;
-            JLabel lbl;
+            JMultilineLabel lbl;
             add(lbl = new JMultilineLabel(tr("You already have an Access Token to access the OSM server using OAuth.")), gc);
             lbl.setFont(lbl.getFont().deriveFont(Font.PLAIN));
 
diff --git a/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java b/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java
index b7b6362..c954168 100644
--- a/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java
+++ b/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java
@@ -4,8 +4,10 @@ package org.openstreetmap.josm.gui.widgets;
 import java.awt.Dimension;
 import java.awt.Rectangle;
 
+import javax.swing.JEditorPane;
 import javax.swing.JLabel;
 import javax.swing.plaf.basic.BasicHTML;
+import javax.swing.text.Caret;
 import javax.swing.text.View;
 
 /**
@@ -18,7 +20,7 @@ import javax.swing.text.View;
  * 
  * @since 6340
  */
-public class JMultilineLabel extends JLabel {
+public class JMultilineLabel extends JEditorPane {
     private int maxWidth = Integer.MAX_VALUE;
     private Rectangle oldbounds = null;
     private Dimension oldPreferred = null;
@@ -32,7 +34,12 @@ public class JMultilineLabel extends JLabel {
      * @param text The text to display
      */
     public JMultilineLabel(String text) {
+        this(text, true);
+    }
+
+    public JMultilineLabel(String text, boolean allBold) {
         super();
+        JosmEditorPane.makeJLabelLike(this, allBold);
         String html = text.trim().replaceAll("\n", "<br>");
         if (!html.startsWith("<html>")) {
             html = "<html>" + html + "</html>";
diff --git a/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java b/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
index 3c66559..4bef38c 100644
--- a/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
+++ b/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
@@ -12,6 +12,7 @@ import javax.swing.JEditorPane;
 import javax.swing.UIManager;
 import javax.swing.text.html.StyleSheet;
 
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -80,28 +81,30 @@ public class JosmEditorPane extends JEditorPane {
     }
 
     /**
-     * Creates a {@link JosmEditorPane} which is meant to be used as a powerful replacement of {@link javax.swing.JLabel}.
+     * Adapts an {@link JEditorPane} to be used as a powerful replacement of {@link javax.swing.JLabel}.
      */
-    public static JosmEditorPane createJLabelLikePane() {
-        final JosmEditorPane pane = new JosmEditorPane("text/html", "");
+    public static void makeJLabelLike(JEditorPane pane, boolean allBold) {
+        pane.setContentType("text/html");
         pane.setOpaque(false);
         pane.setEditable(false);
 
         JosmHTMLEditorKit kit = new JosmHTMLEditorKit();
         final Font f = UIManager.getFont("Label.font");
         final StyleSheet ss = new StyleSheet();
-        final String rule = MessageFormat.format(
+        ss.addRule((allBold ? "html" : "strong, b") + " {" + getFontRule(f) + "}");
+        ss.addRule("a {text-decoration: underline; color: blue}");
+        ss.addRule("h1 {" + getFontRule(GuiHelper.getTitleFont()) + "}");
+        kit.setStyleSheet(ss);
+        pane.setEditorKit(kit);
+    }
+
+    private static String getFontRule(Font f) {
+        return MessageFormat.format(
                 "font-family: ''{0}'';font-size: {1,number}pt; font-weight: {2}; font-style: {3}",
                 f.getName(),
                 f.getSize(),
                 "bold",
                 f.isItalic() ? "italic" : "normal"
         );
-        ss.addRule("strong {" + rule + "}");
-        ss.addRule("a {text-decoration: underline; color: blue}");
-        kit.setStyleSheet(ss);
-        pane.setEditorKit(kit);
-
-        return pane;
     }
 }
