Index: src/uk/me/parabola/imgfmt/app/mdr/Mdr7Record.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/uk/me/parabola/imgfmt/app/mdr/Mdr7Record.java	(revision 3478)
+++ src/uk/me/parabola/imgfmt/app/mdr/Mdr7Record.java	(revision )
@@ -109,4 +109,8 @@
 	public String toString() {
 		return name + " in " + city.getName();
 	}
+
+	public String getInitialPart() {
+		return name.substring(0, (nameOffset & 0xff));
+	}
 }
Index: src/uk/me/parabola/imgfmt/app/mdr/Mdr7.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/uk/me/parabola/imgfmt/app/mdr/Mdr7.java	(revision 3478)
+++ src/uk/me/parabola/imgfmt/app/mdr/Mdr7.java	(revision )
@@ -167,12 +167,8 @@
 		Sort sort = getConfig().getSort();
 		List<SortKey<Mdr7Record>> sortedStreets = new ArrayList<>(allStreets.size());
 		for (Mdr7Record m : allStreets) {
-			String partialName = m.getPartialName();
-			String name = m.getName();
-			SortKey<Mdr7Record> nameKey = sort.createSortKey(m, m.getName(), m.getMapIndex());
-			SortKey<Mdr7Record> partialKey = name.equals(partialName) ? nameKey : sort.createSortKey(m, partialName);
-			MultiSortKey<Mdr7Record> sortKey = new MultiSortKey<>(partialKey, nameKey, null);
-			sortedStreets.add(sortKey);
+			String nameForKey = m.getPartialName() + m.getInitialPart();
+			sortedStreets.add(sort.createSortKey(m, nameForKey, m.getMapIndex()));
 		}
 		Collections.sort(sortedStreets);
 
