diff --git a/java/src/com/android/inputmethod/latin/SubtypeLocale.java b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
index 9cbfe66985d9db590cb68d3441bb453c8f3e64ba..5e28cc2d0626e36ea10b783fdb9ac191f5bbbf41 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeLocale.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeLocale.java
@@ -114,7 +114,7 @@ public final class SubtypeLocale {
 
         final String[] keyboardLayoutSetMap = res.getStringArray(
                 R.array.locale_and_extra_value_to_keyboard_layout_set_map);
-        for (int i = 0; i < keyboardLayoutSetMap.length; i += 2) {
+        for (int i = 0; i + 1 < keyboardLayoutSetMap.length; i += 2) {
             final String key = keyboardLayoutSetMap[i];
             final String keyboardLayoutSet = keyboardLayoutSetMap[i + 1];
             sLocaleAndExtraValueToKeyboardLayoutSetMap.put(key, keyboardLayoutSet);