Index: trunk/src/org/openstreetmap/josm/gui/preferences/imagery/CacheContentsPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/imagery/CacheContentsPanel.java	(revision 8598)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/imagery/CacheContentsPanel.java	(revision 8600)
@@ -56,8 +56,8 @@
 
     private static class ButtonColumn extends AbstractCellEditor implements TableCellRenderer, TableCellEditor, ActionListener {
-        private Action action;
-        private JButton renderButton;
-
-        public ButtonColumn(Action action) {
+        private final Action action;
+        private final JButton renderButton;
+
+        private ButtonColumn(Action action) {
             this.action = action;
             renderButton = new JButton();
@@ -109,5 +109,5 @@
     }
 
-    private ExecutorService executor = Executors.newSingleThreadExecutor();
+    private transient ExecutorService executor = Executors.newSingleThreadExecutor();
 
     /**
@@ -141,4 +141,6 @@
                 new JScrollPane(getTableForCache(cache)),
                 GBC.eol().fill(GBC.BOTH));
+
+        executor.shutdown();
     }
 
@@ -156,8 +158,8 @@
             }
         }
-        return new Long(-1);
-    }
-
-    private Map<String, Integer> getCacheStats(CacheAccess<String, BufferedImageCacheEntry> cache) {
+        return Long.valueOf(-1);
+    }
+
+    private static Map<String, Integer> getCacheStats(CacheAccess<String, BufferedImageCacheEntry> cache) {
         Set<String> keySet = cache.getCacheControl().getKeySet();
         Map<String, int[]> temp = new ConcurrentHashMap<>(); // use int[] as a Object reference to int, gives better performance
@@ -213,5 +215,5 @@
     }
 
-    private JTable getTableForCache(CacheAccess<String, BufferedImageCacheEntry> cache) {
+    private JTable getTableForCache(final CacheAccess<String, BufferedImageCacheEntry> cache) {
         final DefaultTableModel tableModel = new DefaultTableModel(
                 new String[][]{{tr("Loading data"), tr("Please wait"), ""}},
@@ -233,4 +235,5 @@
                         int row = ret.convertRowIndexToModel(ret.getEditingRow());
                         tableModel.setValueAt("0", row, 1);
+                        cache.remove(ret.getValueAt(row, 0) + ":");
                     }
                 });
