Index: applications/editors/josm/plugins/validator/build.xml
===================================================================
--- applications/editors/josm/plugins/validator/build.xml	(revision 20140)
+++ applications/editors/josm/plugins/validator/build.xml	(revision 20142)
@@ -26,5 +26,5 @@
 	  ** update before publishing 
 	-->
-	<property name="commit.message" value="Changed the constructor signature of the plugin main class" />
+	<property name="commit.message" value="validator: fixed josm bug 4594" />
 	<property name="plugin.main.version" value="2830" />
 
Index: applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/DuplicateNode.java
===================================================================
--- applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/DuplicateNode.java	(revision 20140)
+++ applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/DuplicateNode.java	(revision 20142)
@@ -3,4 +3,5 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.GridBagLayout;
 import java.awt.geom.Area;
 import java.util.ArrayList;
@@ -14,5 +15,7 @@
 import java.util.Map.Entry;
 
+import javax.swing.JLabel;
 import javax.swing.JOptionPane;
+import javax.swing.JPanel;
 
 import org.openstreetmap.josm.Main;
@@ -151,13 +154,19 @@
                     Node n = (Node) osm;
                     if (!a.contains(n.getCoor())) {
+                        JPanel msg = new JPanel(new GridBagLayout());
+                        msg.add(new JLabel(
+                                "<html>" +
+                                // leave message in one tr() as there is a grammatical
+                                // connection.
+                                tr("You are about to delete nodes outside of the area you have downloaded."
+                                        + "<br>"
+                                        + "This can cause problems because other objects (that you do not see) might use them."
+                                        + "<br>" + "Do you really want to delete?") + "</html>"));
+
                         return ConditionalOptionPaneUtil.showConfirmationDialog(
                             "delete_outside_nodes",
                             Main.parent,
-                            tr("You are about to delete nodes outside of the area you have downloaded." +
-                                                "<br>" +
-                                                "This can cause problems because other objects (that you don't see) might use them." +
-                                                "<br>" +
-                                        "Do you really want to delete?") + "</html>",
-                            tr("Confirmation"),
+                            msg,
+                            tr("Delete confirmation"),
                             JOptionPane.YES_NO_OPTION,
                             JOptionPane.QUESTION_MESSAGE,
