Index: trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java	(revision 16978)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java	(revision 16979)
@@ -45,4 +45,5 @@
 import org.openstreetmap.josm.gui.preferences.display.DisplayPreference;
 import org.openstreetmap.josm.gui.preferences.display.DrawingPreference;
+import org.openstreetmap.josm.gui.preferences.display.GPXPreference;
 import org.openstreetmap.josm.gui.preferences.display.LafPreference;
 import org.openstreetmap.josm.gui.preferences.display.LanguagePreference;
@@ -572,4 +573,5 @@
         SETTINGS_FACTORIES.add(new DisplayPreference.Factory());
         SETTINGS_FACTORIES.add(new DrawingPreference.Factory());
+        SETTINGS_FACTORIES.add(new GPXPreference.Factory());
         SETTINGS_FACTORIES.add(new ColorPreference.Factory());
         SETTINGS_FACTORIES.add(new LafPreference.Factory());
Index: trunk/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java	(revision 16978)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java	(revision 16979)
@@ -29,5 +29,5 @@
 
 /**
- * Map drawing preferences.
+ * "OSM Data" drawing preferences.
  */
 public class DrawingPreference implements SubPreferenceSetting {
@@ -49,5 +49,4 @@
     public static final BooleanProperty SOURCE_BOUNDS_PROP = new BooleanProperty("draw.data.downloaded_area", true);
 
-    private GPXSettingsPanel gpxPanel;
     private final JCheckBox directionHint = new JCheckBox(tr("Draw Direction Arrows"));
     private final JCheckBox headArrow = new JCheckBox(tr("Only on the head of a way."));
@@ -74,20 +73,4 @@
     @Override
     public void addGui(PreferenceTabbedPane gui) {
-        addOsmPane(gui);
-        addGpxPane(gui);
-    }
-
-    private void addGpxPane(PreferenceTabbedPane gui) {
-        gpxPanel = new GPXSettingsPanel();
-        gui.addValidationListener(gpxPanel);
-        JPanel panel = gpxPanel;
-
-        JScrollPane scrollpane = new JScrollPane(panel);
-        scrollpane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
-        GuiHelper.setDefaultIncrement(scrollpane);
-        gui.getDisplayPreference().addSubTab(this, tr("GPS Points"), scrollpane);
-    }
-
-    private void addOsmPane(PreferenceTabbedPane gui) {
         JPanel panel = new JPanel(new GridBagLayout());
         panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
@@ -217,5 +200,4 @@
     @Override
     public boolean ok() {
-        boolean restart = gpxPanel.savePreferences();
         OsmDataLayer.PROPERTY_HIDE_LABELS_WHILE_DRAGGING.put(hideLabelsWhileDragging.isSelected());
         Config.getPref().putBoolean("draw.data.area_outline_only", outlineOnly.isSelected());
@@ -243,5 +225,5 @@
         }
         Config.getPref().putInt("mappaint.node.virtual-size", vn);
-        return restart;
+        return false;
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXPreference.java	(revision 16979)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/display/GPXPreference.java	(revision 16979)
@@ -0,0 +1,60 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.gui.preferences.display;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import javax.swing.BorderFactory;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+
+import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
+import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
+import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
+import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
+import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
+import org.openstreetmap.josm.gui.util.GuiHelper;
+
+/**
+ * "GPS Points" drawing preferences.
+ */
+public class GPXPreference implements SubPreferenceSetting {
+
+    /**
+     * Factory used to create a new {@code GPXPreference}.
+     */
+    public static class Factory implements PreferenceSettingFactory {
+        @Override
+        public PreferenceSetting createPreferenceSetting() {
+            return new GPXPreference();
+        }
+    }
+
+    private GPXSettingsPanel gpxPanel;
+
+    @Override
+    public void addGui(PreferenceTabbedPane gui) {
+        gpxPanel = new GPXSettingsPanel();
+        gui.addValidationListener(gpxPanel);
+        JPanel panel = gpxPanel;
+
+        JScrollPane scrollpane = new JScrollPane(panel);
+        scrollpane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+        GuiHelper.setDefaultIncrement(scrollpane);
+        gui.getDisplayPreference().addSubTab(this, tr("GPS Points"), scrollpane);
+    }
+
+    @Override
+    public boolean ok() {
+        return gpxPanel.savePreferences();
+    }
+
+    @Override
+    public boolean isExpert() {
+        return false;
+    }
+
+    @Override
+    public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
+        return gui.getDisplayPreference();
+    }
+}
