Index: applications/editors/josm/plugins/imagery-xml-bounds/build.xml
===================================================================
--- applications/editors/josm/plugins/imagery-xml-bounds/build.xml	(revision 27676)
+++ applications/editors/josm/plugins/imagery-xml-bounds/build.xml	(revision 27863)
@@ -32,5 +32,5 @@
     <property name="commit.message" value="Commit message"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="4577"/>
+    <property name="plugin.main.version" value="4987"/>
     <!-- should not be necessary to change the following properties -->
     <property name="josm" location="../../core/dist/josm-custom.jar"/>
@@ -150,8 +150,8 @@
     </target>
     <!--
-    ************************** Publishing the plugin *********************************** 
-    -->
-    <!--
-    ** extracts the JOSM release for the JOSM version in ../core and saves it in the 
+    ************************** Publishing the plugin ***********************************
+    -->
+    <!--
+    ** extracts the JOSM release for the JOSM version in ../core and saves it in the
     ** property ${coreversion.info.entry.revision}
     -->
@@ -197,10 +197,10 @@
         <echo>
     ***** Properties of published ${plugin.jar} *****
-    Commit message    : '${commit.message}'                    
+    Commit message    : '${commit.message}'
     Plugin-Mainversion: ${plugin.main.version}
     JOSM build version: ${coreversion.info.entry.revision}
     Plugin-Version    : ${version.entry.commit.revision}
-    ***** / Properties of published ${plugin.jar} *****                    
-                        
+    ***** / Properties of published ${plugin.jar} *****
+
     Now commiting ${plugin.jar} ...
     </echo>
Index: applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/XmlBoundsPreferenceSetting.java
===================================================================
--- applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/XmlBoundsPreferenceSetting.java	(revision 27676)
+++ applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/XmlBoundsPreferenceSetting.java	(revision 27863)
@@ -18,33 +18,38 @@
 import javax.swing.JButton;
 
-import org.openstreetmap.josm.gui.preferences.ImageryPreference;
-import org.openstreetmap.josm.gui.preferences.ImageryPreference.ImageryProvidersPanel;
-import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
+import org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference;
+import org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference.ImageryProvidersPanel;
+import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
+import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
 import org.openstreetmap.josm.plugins.imageryxmlbounds.actions.EditEntriesAction;
 
 /**
- * 
+ *
  * @author Don-vip
  *
  */
-public class XmlBoundsPreferenceSetting implements PreferenceSetting {
+public class XmlBoundsPreferenceSetting implements SubPreferenceSetting {
 
-	@Override
-	public void addGui(PreferenceTabbedPane gui) {
-		for (PreferenceSetting ps : gui.getSettings()) {
-			if (ps instanceof ImageryPreference) {
-				ImageryProvidersPanel ipp = ((ImageryPreference) ps).getProvidersPanel();
-				EditEntriesAction action = new EditEntriesAction(ipp.defaultTable, ipp.defaultModel);
-				ipp.middleToolbar.add(new JButton(action));
-				// TODO
-				break;
-			}
-		}
-	}
+    @Override
+    public void addGui(PreferenceTabbedPane gui) {
+        ImageryProvidersPanel ipp = gui.getImageryPreference().getProvidersPanel();
+        EditEntriesAction action = new EditEntriesAction(ipp.defaultTable, ipp.defaultModel);
+        ipp.middleToolbar.add(new JButton(action));
+    }
 
-	@Override
-	public boolean ok() {
-		return false;
-	}
+    @Override
+    public boolean ok() {
+        return false;
+    }
+
+    @Override
+    public boolean isExpert() {
+        return false;
+    }
+
+    public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {
+        return gui.getImageryPreference();
+    }
+
 }
Index: applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/EditEntriesAction.java
===================================================================
--- applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/EditEntriesAction.java	(revision 27676)
+++ applications/editors/josm/plugins/imagery-xml-bounds/src/org/openstreetmap/josm/plugins/imageryxmlbounds/actions/EditEntriesAction.java	(revision 27863)
@@ -30,5 +30,5 @@
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.data.imagery.ImageryInfo;
-import org.openstreetmap.josm.gui.preferences.ImageryPreference.ImageryProvidersPanel.ImageryDefaultLayerTableModel;
+import org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference.ImageryProvidersPanel.ImageryDefaultLayerTableModel;
 import org.openstreetmap.josm.plugins.imageryxmlbounds.XmlBoundsConstants;
 import org.openstreetmap.josm.plugins.imageryxmlbounds.XmlBoundsLayer;
@@ -39,10 +39,10 @@
 
 	protected static final String ACTION_NAME = tr("Edit");
-	
+
 	private final JTable defaultTable;
 	private final ImageryDefaultLayerTableModel defaultModel;
-	
+
 	private final List<ImageryInfo> entries;
-	
+
 	public EditEntriesAction(JTable defaultTable, ImageryDefaultLayerTableModel defaultModel) {
         putValue(SHORT_DESCRIPTION, tr("edit bounds for selected defaults"));
@@ -59,5 +59,5 @@
     	setEnabled(false);
 	}
-	
+
 	@Override
 	public void actionPerformed(ActionEvent e) {
@@ -83,5 +83,5 @@
 			entries.clear();
 			for (int row : defaultTable.getSelectedRows()) {
-				ImageryInfo info = defaultModel.getRow(row); 
+				ImageryInfo info = defaultModel.getRow(row);
 				if (info != null && info.getBounds() != null) {
 					entries.add(info);
