Index: /trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/Main.java	(revision 9221)
+++ /trunk/src/org/openstreetmap/josm/Main.java	(revision 9222)
@@ -975,4 +975,10 @@
         UIManager.put("OptionPane.cancelIcon", ImageProvider.get("cancel"));
         UIManager.put("OptionPane.noIcon", UIManager.get("OptionPane.cancelIcon"));
+        // Ensures caret color is the same than text foreground color, see #12257
+        // See http://docs.oracle.com/javase/7/docs/api/javax/swing/plaf/synth/doc-files/componentProperties.html
+        for (String p : Arrays.asList(
+                "EditorPane", "FormattedTextField", "PasswordField", "TextArea", "TextField", "TextPane")) {
+            UIManager.put(p+".caretForeground", UIManager.getColor(p+".foreground"));
+        }
 
         I18n.translateJavaInternalMessages();
