Index: /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 6706)
+++ /trunk/src/org/openstreetmap/josm/actions/AddImageryLayerAction.java	(revision 6707)
@@ -24,8 +24,14 @@
 import org.openstreetmap.josm.gui.layer.ImageryLayer;
 import org.openstreetmap.josm.gui.preferences.imagery.WMSLayerTree;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.io.imagery.WMSImagery;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.ImageProvider.ImageCallback;
 
+/**
+ * Action displayed in imagery menu to add a new imagery layer. 
+ * @since 3715
+ */
 public class AddImageryLayerAction extends JosmAction implements AdaptableAction {
 
@@ -33,4 +39,9 @@
     private final ImageryInfo info;
 
+    /**
+     * Constructs a new {@code AddImageryLayerAction} for the given {@code ImageryInfo}.
+     * If an http:// icon is specified, it is fetched asynchronously.
+     * @param info The imagery info
+     */
     public AddImageryLayerAction(ImageryInfo info) {
         super(info.getMenuName(), /* ICON */"imagery_menu", tr("Add imagery layer {0}",info.getName()), null, false, false);
@@ -42,9 +53,18 @@
         try {
             if (info.getIcon() != null) {
-                ImageIcon i = new ImageProvider(info.getIcon()).setOptional(true).
-                        setMaxHeight(MAX_ICON_SIZE).setMaxWidth(MAX_ICON_SIZE).get();
-                if (i != null) {
-                    putValue(Action.SMALL_ICON, i);
-                }
+                new ImageProvider(info.getIcon()).setOptional(true).
+                        setMaxHeight(MAX_ICON_SIZE).setMaxWidth(MAX_ICON_SIZE).getInBackground(new ImageCallback() {
+                            @Override
+                            public void finished(final ImageIcon result) {
+                                if (result != null) {
+                                    GuiHelper.runInEDT(new Runnable() {
+                                        @Override
+                                        public void run() {
+                                            putValue(Action.SMALL_ICON, result);
+                                        }
+                                    });
+                                }
+                            }
+                        });
             }
         } catch (Exception ex) {
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 6706)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 6707)
@@ -738,6 +738,5 @@
     public class MouseClickWatch extends MouseAdapter {
         @Override public void mouseClicked(MouseEvent e) {
-            if (e.getClickCount() < 2)
-            {
+            if (e.getClickCount() < 2) {
                 // single click, clear selection in other table not clicked in
                 if (e.getSource() == tagTable) {
@@ -748,6 +747,5 @@
             }
             // double click, edit or add tag
-            else if (e.getSource() == tagTable)
-            {
+            else if (e.getSource() == tagTable) {
                 int row = tagTable.rowAtPoint(e.getPoint());
                 if (row > -1) {
@@ -764,6 +762,5 @@
                 }
             }
-            else
-            {
+            else {
                 editHelper.addTag();
                 btnAdd.requestFocusInWindow();
