Index: src/uk/me/parabola/mkgmap/osmstyle/StyledConverter.java
===================================================================
--- src/uk/me/parabola/mkgmap/osmstyle/StyledConverter.java	(revision 3356)
+++ src/uk/me/parabola/mkgmap/osmstyle/StyledConverter.java	(working copy)
@@ -42,6 +42,7 @@
 import uk.me.parabola.imgfmt.app.trergn.ExtTypeAttributes;
 import uk.me.parabola.imgfmt.app.trergn.MapObject;
 import uk.me.parabola.log.Logger;
+import uk.me.parabola.mkgmap.build.LocatorConfig;
 import uk.me.parabola.mkgmap.build.LocatorUtil;
 import uk.me.parabola.mkgmap.filters.LineSizeSplitterFilter;
 import uk.me.parabola.mkgmap.general.AreaClipper;
@@ -133,6 +134,7 @@
 	private final boolean linkPOIsToWays;
 	private final boolean mergeRoads;
 	private WrongAngleFixer wrongAngleFixer;
+	private final String defaultCountryAbbr;
 
 	private LineAdder lineAdder = new LineAdder() {
 		public void add(MapLine element) {
@@ -181,6 +183,13 @@
 		mergeRoads = props.getProperty("no-mergeroads", false) == false;
 
 		wrongAngleFixer = new WrongAngleFixer(bbox);
+		String countryAbbr = props.getProperty("country-abbr", null);
+		if (countryAbbr == null){
+			String countryName = props.getProperty("country-name", null);
+			if (countryName != null)
+				countryAbbr = LocatorConfig.get().getCountryISOCode(countryName);
+		}
+		defaultCountryAbbr = countryAbbr;
 	}
 
 	/** One type result for ways to avoid recreating one for each way. */ 
@@ -399,6 +408,8 @@
 	
 
 	private static final short nameTagKey = TagDict.getInstance().xlate("name");  
+	private final static short mkgmapAdminLevel2TagKey = TagDict.getInstance().xlate("mkgmap:admin_level2");
+
 	/**
 	 * Rules to run before converting the element.
 	 */
@@ -416,6 +427,11 @@
 				break;
 			}
 		}
+
+		if (defaultCountryAbbr != null && el.getTag(mkgmapAdminLevel2TagKey) == null){
+			// LocationHook is disabled or did not set the tag
+			el.addTag(mkgmapAdminLevel2TagKey, defaultCountryAbbr);
+		}
 	}
 
 	/**
