diff --git a/OsmAnd-java/src/net/osmand/binary/BinaryMapAddressReaderAdapter.java b/OsmAnd-java/src/net/osmand/binary/BinaryMapAddressReaderAdapter.java index 57849a7ffc..0034992cea 100644 --- a/OsmAnd-java/src/net/osmand/binary/BinaryMapAddressReaderAdapter.java +++ b/OsmAnd-java/src/net/osmand/binary/BinaryMapAddressReaderAdapter.java @@ -684,7 +684,7 @@ public class BinaryMapAddressReaderAdapter { codedIS.seek(contOffset); int len = codedIS.readRawVarint32(); int old = codedIS.pushLimit(len); - obj = readCityHeader(null, contOffset, null); + obj = readCityHeader(null, contOffset, reg.attributeTagsTable); codedIS.popLimit(old); } if (obj != null) { diff --git a/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java b/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java index 52bc0fdc9a..5477a2b698 100644 --- a/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java +++ b/OsmAnd-java/src/net/osmand/search/core/SearchPhrase.java @@ -614,6 +614,12 @@ public class SearchPhrase { } } } + if(!sr.firstUnknownWordMatches) { + sr.firstUnknownWordMatches = localeName.equals(getUnknownSearchWord()) || + getNameStringMatcher().matches(localeName) || + getNameStringMatcher().matches(otherNames); + } + } public int getRadiusSearch(int meters) { return (1 << (getRadiusLevel() - 1)) * meters;