Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 11159)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 11161)
@@ -102,4 +102,5 @@
 
     private static final String[] OBSOLETE_PREF_KEYS = {
+      "hdop.factor" /* remove entry after April 2017 */
     };
 
Index: trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 11159)
+++ trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 11161)
@@ -62,5 +62,6 @@
     private double minTrackDurationForTimeColoring;
 
-    private int hdopfactor;
+    /** maximum value of displayed HDOP, minimum is 0 */
+    private int hdoprange;
 
     private static final double PHI = Math.toRadians(15);
@@ -214,5 +215,6 @@
         colorTracksTune = Main.pref.getInteger("draw.rawgps.colorTracksTune", spec, 45);
         colorModeDynamic = Main.pref.getBoolean("draw.rawgps.colors.dynamic", spec, false);
-        hdopfactor = Main.pref.getInteger("hdop.factor", 25);
+        /* good HDOP's are between 1 and 3, very bad HDOP's go into 3 digit values */
+        hdoprange = Main.pref.getInteger("hdop.range", 7);
         minTrackDurationForTimeColoring = Main.pref.getInteger("draw.rawgps.date-coloring-min-dt", 60);
         largePointAlpha = Main.pref.getInteger("draw.rawgps.large.alpha", -1) & 0xFF;
@@ -311,5 +313,5 @@
         } else { // color mode not dynamic
             velocityScale.setRange(0, colorTracksTune);
-            hdopScale.setRange(0, 1.0/hdopfactor);
+            hdopScale.setRange(0, hdoprange);
         }
         double now = System.currentTimeMillis()/1000.0;
