Index: trunk/src/org/openstreetmap/josm/data/coor/conversion/AbstractCoordinateFormat.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/coor/conversion/AbstractCoordinateFormat.java	(revision 14202)
+++ trunk/src/org/openstreetmap/josm/data/coor/conversion/AbstractCoordinateFormat.java	(revision 14203)
@@ -17,15 +17,6 @@
     protected final String displayName;
 
-    /**
-     * The normal number format for server precision coordinates
-     */
-    protected static final DecimalFormat cDdFormatter;
-    static {
-        // Don't use the localized decimal separator. This way we can present
-        // a comma separated list of coordinates.
-        cDdFormatter = (DecimalFormat) NumberFormat.getInstance(Locale.UK);
-        cDdFormatter.applyPattern("###0.0######");
-    }
-
+    /** The normal number format for server precision coordinates */
+    protected static final DecimalFormat cDdFormatter = newUnlocalizedDecimalFormat("###0.0######");
     /** Character denoting South, as string */
     protected static final String SOUTH = trc("compass", "S");
@@ -40,4 +31,18 @@
         this.id = id;
         this.displayName = displayName;
+    }
+
+    /**
+     * Creates a new unlocalized {@link DecimalFormat}.
+     * By not using the localized decimal separator, we can present a comma separated list of coordinates.
+     * @param pattern decimal format pattern
+     * @return {@code DecimalFormat} using dot as decimal separator
+     * @see DecimalFormat#applyPattern
+     * @since 14203
+     */
+    public static DecimalFormat newUnlocalizedDecimalFormat(String pattern) {
+        DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(Locale.UK);
+        format.applyPattern(pattern);
+        return format;
     }
 
Index: trunk/src/org/openstreetmap/josm/data/coor/conversion/DMSCoordinateFormat.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/coor/conversion/DMSCoordinateFormat.java	(revision 14202)
+++ trunk/src/org/openstreetmap/josm/data/coor/conversion/DMSCoordinateFormat.java	(revision 14203)
@@ -15,6 +15,6 @@
 public class DMSCoordinateFormat extends AbstractCoordinateFormat {
 
-    private static final DecimalFormat DMS_MINUTE_FORMATTER = new DecimalFormat("00");
-    private static final DecimalFormat DMS_SECOND_FORMATTER = new DecimalFormat(
+    private static final DecimalFormat DMS_MINUTE_FORMATTER = newUnlocalizedDecimalFormat("00");
+    private static final DecimalFormat DMS_SECOND_FORMATTER = newUnlocalizedDecimalFormat(
             Config.getPref() == null ? "00.0" : Config.getPref().get("latlon.dms.decimal-format", "00.0"));
     private static final String DMS60 = DMS_SECOND_FORMATTER.format(60.0);
Index: trunk/src/org/openstreetmap/josm/data/coor/conversion/NauticalCoordinateFormat.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/coor/conversion/NauticalCoordinateFormat.java	(revision 14202)
+++ trunk/src/org/openstreetmap/josm/data/coor/conversion/NauticalCoordinateFormat.java	(revision 14203)
@@ -14,5 +14,5 @@
  */
 public class NauticalCoordinateFormat extends AbstractCoordinateFormat {
-    private static final DecimalFormat DM_MINUTE_FORMATTER = new DecimalFormat(
+    private static final DecimalFormat DM_MINUTE_FORMATTER = newUnlocalizedDecimalFormat(
             Config.getPref() == null ? "00.000" : Config.getPref().get("latlon.dm.decimal-format", "00.000"));
     private static final String DM60 = DM_MINUTE_FORMATTER.format(60.0);
