Index: trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java	(revision 4986)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java	(revision 4987)
@@ -68,10 +68,10 @@
         boolean validatePreferences();
     }
-    
+
     private static interface PreferenceTab {
         public TabPreferenceSetting getTabPreferenceSetting();
         public Component getComponent();
     }
-    
+
     public static class PreferencePanel extends JPanel implements PreferenceTab {
         private final TabPreferenceSetting preferenceSetting;
@@ -83,5 +83,5 @@
             buildPanel();
         }
-        
+
         protected void buildPanel() {
             setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
@@ -132,5 +132,5 @@
     private final static Collection<PreferenceSettingFactory> settingsFactory = new LinkedList<PreferenceSettingFactory>();
     private final List<PreferenceSetting> settings = new ArrayList<PreferenceSetting>();
-    
+
     // distinct list of tabs that have been initialized (we do not initialize tabs until they are displayed to speed up dialog startup)
     private final List<PreferenceSetting> settingsInitialized = new ArrayList<PreferenceSetting>();
@@ -179,5 +179,5 @@
         public boolean identify(TabPreferenceSetting tps, Object param);
     }
-    
+
     private void selectTabBy(TabIdentifier method, Object param) {
         for (int i=0; i<getTabCount(); i++) {
@@ -192,5 +192,5 @@
         }
     }
-    
+
     public void selectTabByName(String name) {
         selectTabBy(new TabIdentifier(){
@@ -208,15 +208,19 @@
             }}, clazz);
     }
-    
+
     public final DisplayPreference getDisplayPreference() {
         return getSetting(DisplayPreference.class);
     }
-    
+
     public final MapPreference getMapPreference() {
         return getSetting(MapPreference.class);
     }
-    
+
     public final PluginPreference getPluginPreference() {
         return getSetting(PluginPreference.class);
+    }
+
+    public final ImageryPreference getImageryPreference() {
+        return getSetting(ImageryPreference.class);
     }
 
@@ -329,5 +333,5 @@
         }
     }
-    
+
     private void insertGUITabsForSetting(Icon icon, TabPreferenceSetting tps, int index) {
         int position = index;
@@ -338,5 +342,5 @@
         }
     }
-    
+
     private void addGUITabs(boolean clear) {
         boolean expert = ExpertToggleAction.isExpert();
@@ -369,5 +373,5 @@
         } catch (IllegalArgumentException e) {}
     }
-    
+
     @Override
     public void expertChanged(boolean isExpert) {
Index: trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java	(revision 4986)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java	(revision 4987)
@@ -2,6 +2,12 @@
 package org.openstreetmap.josm.gui.preferences;
 
+/**
+ * Preference settings, that do *not* display a top level tab.
+ *
+ * This preference setting's addGui method is called after the user clicked the parent tab
+ * (returned by getTabPreferenceSetting).
+ */
 public interface SubPreferenceSetting extends PreferenceSetting {
-    
+
     /**
      * Returns the preference setting (displayed in the specified preferences tab pane) that contains this preference setting.
Index: trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java	(revision 4986)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/imagery/ImageryPreference.java	(revision 4987)
@@ -94,9 +94,9 @@
         }
     }
-    
+
     private ImageryPreference() {
         super("imagery", tr("Imagery Preferences"), tr("Modify list of imagery layers displayed in the Imagery menu"));
     }
-    
+
     private ImageryProvidersPanel imageryProviders;
     private ImageryLayerInfo layerInfo;
