diff -r 32d957185656 src/java.base/share/classes/sun/util/locale/LocaleMatcher.java --- a/src/java.base/share/classes/sun/util/locale/LocaleMatcher.java Thu Sep 15 17:15:54 2016 +0000 +++ b/src/java.base/share/classes/sun/util/locale/LocaleMatcher.java Fri Sep 30 17:39:42 2016 +0100 @@ -547,10 +547,11 @@ return new String[] {range.replaceFirst(r, equiv)}; } else if (LocaleEquivalentMaps.multiEquivsMap.containsKey(r)) { String[] equivs = LocaleEquivalentMaps.multiEquivsMap.get(r); + String[] result = new String[equivs.length]; for (int i = 0; i < equivs.length; i++) { - equivs[i] = range.replaceFirst(r, equivs[i]); + result[i] = range.replaceFirst(r, equivs[i]); } - return equivs; + return result; } // Truncate the last subtag simply.