Index: src/uk/me/parabola/mkgmap/CommandArgsReader.java
===================================================================
--- src/uk/me/parabola/mkgmap/CommandArgsReader.java	(revision 4335)
+++ src/uk/me/parabola/mkgmap/CommandArgsReader.java	(working copy)
@@ -268,6 +268,7 @@
 					args.setProperty("mapname", mapname);
 			}
 
+			checkMapName();
 			// Now process the file
 			proc.processFilename(new CommandArgs(args), name);
 
@@ -289,6 +290,18 @@
 			}
 		}
 
+		private void checkMapName() {
+			try {
+				String mapname = args.getProperty("mapname");
+				int n = Integer.parseInt(mapname);
+				if (n > 99999999) {
+					throw new ExitException("Cannot calculate mapid for " + name);
+				}
+			} catch (NumberFormatException e) {
+				throw new ExitException("Cannot calculate mapid for " + name);
+			}
+		}
+
 		private String extractMapName(String path) {
 
 			File file = new File(path);
