Index: /trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 15605)
+++ /trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 15606)
@@ -882,4 +882,10 @@
             });
         }
+        if (!getBoolean("preferences.reset.draw.rawgps.lines")) {
+            // see #18444
+            // add "preferences.reset.draw.rawgps.lines" to OBSOLETE_PREF_KEYS when removing
+            putBoolean("preferences.reset.draw.rawgps.lines", true);
+            putInt("draw.rawgps.lines", -1);
+        }
         if (modifiedDefault) {
             try {
Index: /trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 15605)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 15606)
@@ -310,10 +310,14 @@
 
         int l = optInt("lines");
-        if (!data.fromServer) {
+        // -1 = global (default: all)
+        //  0 = none
+        //  1 = local
+        //  2 = all
+        if (!data.fromServer) { //local settings apply
             maxLineLength = optInt("lines.max-length.local");
-            lines = l != 0; //draw for -1 (default), 1 (local) and 2 (all)
+            lines = l != 0; // don't draw if "none"
         } else {
             maxLineLength = optInt("lines.max-length");
-            lines = l == 2; //draw only for 2 (all)
+            lines = l != 0 && l != 1; //don't draw if "none" or "local only"
         }
         large = optBool("points.large");
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java	(revision 15605)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java	(revision 15606)
@@ -148,6 +148,6 @@
         firstLayer = layers.get(0);
         global = false;
-        hasLocalFile = layers.stream().anyMatch(GpxLayer::isLocalFile);
-        hasNonLocalFile = layers.stream().anyMatch(l -> !l.isLocalFile());
+        hasLocalFile = layers.stream().anyMatch(l -> !l.data.fromServer);
+        hasNonLocalFile = layers.stream().anyMatch(l -> l.data.fromServer);
         initComponents();
         loadPreferences();
@@ -563,7 +563,11 @@
         makeAutoMarkers.setSelected(Config.getPref().getBoolean("marker.makeautomarkers", true));
         int lines = global ? prefInt("lines") : prefIntLocal("lines");
-        if (lines == 2 && hasNonLocalFile) {
+        // -1 = global (default: all)
+        //  0 = none
+        //  1 = local
+        //  2 = all
+        if ((lines == 2 && hasNonLocalFile) || (lines == -1 && global)) {
             drawRawGpsLinesAll.setSelected(true);
-        } else if ((lines == 1 && hasLocalFile) || (lines == -1 && global)) {
+        } else if (lines == 1 && hasLocalFile) {
             drawRawGpsLinesLocal.setSelected(true);
         } else if (lines == 0) {
