diff --git a/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java b/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
index 6fee128..93322e9 100644
--- a/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
+++ b/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
@@ -57,6 +57,7 @@ public class ImageryInfo implements Comparable<ImageryInfo> {
     private String attributionImage;
     private String attributionLinkURL;
     private String termsOfUseURL;
+    private String countryCode = "";
 
     public ImageryInfo() {
     }
@@ -165,11 +166,14 @@ public class ImageryInfo implements Comparable<ImageryInfo> {
     @Override
     public int compareTo(ImageryInfo in)
     {
-        int i = name.compareTo(in.name);
-        if(i == 0) {
+        int i = countryCode.compareTo(in.countryCode);
+        if (i == 0) {
+            i = name.compareTo(in.name);
+        }
+        if (i == 0) {
             i = url.compareTo(in.url);
         }
-        if(i == 0) {
+        if (i == 0) {
             i = Double.compare(pixelPerDegree, in.pixelPerDegree);
         }
         return i;
@@ -294,6 +298,14 @@ public class ImageryInfo implements Comparable<ImageryInfo> {
         this.eulaAcceptanceRequired = eulaAcceptanceRequired;
     }
 
+    public String getCountryCode() {
+        return countryCode;
+    }
+
+    public void setCountryCode(String countryCode) {
+        this.countryCode = countryCode;
+    }
+
     /**
      * Get the projections supported by the server. Only relevant for
      * WMS-type ImageryInfo at the moment.
diff --git a/src/org/openstreetmap/josm/gui/preferences/ImageryPreference.java b/src/org/openstreetmap/josm/gui/preferences/ImageryPreference.java
index 5bf23c1..1e22e3d 100644
--- a/src/org/openstreetmap/josm/gui/preferences/ImageryPreference.java
+++ b/src/org/openstreetmap/josm/gui/preferences/ImageryPreference.java
@@ -389,8 +389,9 @@ public class ImageryPreference implements PreferenceSetting {
             };
 
             TableColumnModel mod = listdef.getColumnModel();
-            mod.getColumn(1).setPreferredWidth(800);
-            mod.getColumn(0).setPreferredWidth(200);
+            mod.getColumn(2).setPreferredWidth(800);
+            mod.getColumn(1).setPreferredWidth(400);
+            mod.getColumn(0).setPreferredWidth(50);
             mod = listActive.getColumnModel();
             mod.getColumn(2).setPreferredWidth(50);
             mod.getColumn(1).setPreferredWidth(800);
@@ -640,7 +641,7 @@ public class ImageryPreference implements PreferenceSetting {
          */
         class ImageryDefaultLayerTableModel extends DefaultTableModel {
             public ImageryDefaultLayerTableModel() {
-                setColumnIdentifiers(new String[] { tr("Menu Name (Default)"), tr("Imagery URL (Default)") });
+                setColumnIdentifiers(new String[]{"", tr("Menu Name (Default)"), tr("Imagery URL (Default)")});
             }
 
             public ImageryInfo getRow(int row) {
@@ -657,8 +658,10 @@ public class ImageryPreference implements PreferenceSetting {
                 ImageryInfo info = layerInfo.getDefaultLayers().get(row);
                 switch (column) {
                 case 0:
-                    return info.getName();
+                    return info.getCountryCode();
                 case 1:
+                    return info.getName();
+                case 2:
                     return info.getExtendedUrl();
                 }
                 return null;
diff --git a/src/org/openstreetmap/josm/io/imagery/ImageryReader.java b/src/org/openstreetmap/josm/io/imagery/ImageryReader.java
index a3d724b..31c85ab 100644
--- a/src/org/openstreetmap/josm/io/imagery/ImageryReader.java
+++ b/src/org/openstreetmap/josm/io/imagery/ImageryReader.java
@@ -235,6 +235,7 @@ public class ImageryReader {
                         "logo-url",
                         "terms-of-use-text",
                         "terms-of-use-url",
+                        "country-code",
                     }).contains(qName)) {
                         newState = State.ENTRY_ATTRIBUTE;
                     } else if (qName.equals("bounds")) {
@@ -352,6 +353,9 @@ public class ImageryReader {
                         // TODO: it should be possible to configure the terms of use display text
                     } else if (qName.equals("terms-of-use-url")) {
                         entry.setTermsOfUseURL(accumulator.toString());
+                    } else if (qName.equals("country-code")) {
+                        entry.setCountryCode(accumulator.toString());
+                    } else {
                     }
                     break;
                 case PR:
