diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
index 2a0dad6..2925a4b 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeySpecParser.java
@@ -84,14 +84,18 @@
     }
 
     private static int indexOfLabelEnd(final String keySpec) {
+        final int length = keySpec.length();
         if (keySpec.indexOf(BACKSLASH) < 0) {
             final int labelEnd = keySpec.indexOf(VERTICAL_BAR);
             if (labelEnd == 0) {
+                if (length == 1) {
+                    // Treat a sole vertical bar as a special case of key label.
+                    return -1;
+                }
                 throw new KeySpecParserError("Empty label");
             }
             return labelEnd;
         }
-        final int length = keySpec.length();
         for (int pos = 0; pos < length; pos++) {
             final char c = keySpec.charAt(pos);
             if (c == BACKSLASH && pos + 1 < length) {
diff --git a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java
index a02d402..cb640b3 100644
--- a/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java
+++ b/tests/src/com/android/inputmethod/keyboard/internal/KeySpecParserTestsBase.java
@@ -101,7 +101,9 @@
                 "a", null, ICON_UNDEFINED, 'a');
         assertParser("Single surrogate", SURROGATE_PAIR1,
                 SURROGATE_PAIR1, null, ICON_UNDEFINED, SURROGATE_CODE1);
-        assertParser("Single escaped bar", "\\|",
+        assertParser("Sole vertical bar", "|",
+                "|", null, ICON_UNDEFINED, '|');
+        assertParser("Single escaped vertical bar", "\\|",
                 "|", null, ICON_UNDEFINED, '|');
         assertParser("Single escaped escape", "\\\\",
                 "\\", null, ICON_UNDEFINED, '\\');
@@ -251,8 +253,6 @@
     }
 
     public void testFormatError() {
-        assertParserError("Single bar", "|",
-                "|", null, ICON_UNDEFINED, '|');
         assertParserError("Empty label with outputText", "|a",
                 null, "a", ICON_UNDEFINED, CODE_UNSPECIFIED);
         assertParserError("Empty label with code", "|" + CODE_SETTINGS,
@@ -261,8 +261,6 @@
                 "a", null, ICON_UNDEFINED, CODE_UNSPECIFIED);
         assertParserError("Empty outputText with icon", ICON_SETTINGS + "|",
                 null, null, mSettingsIconId, CODE_UNSPECIFIED);
-        assertParserError("Empty icon and code", "|",
-                null, null, ICON_UNDEFINED, CODE_UNSPECIFIED);
         assertParserError("Icon without code", ICON_SETTINGS,
                 null, null, mSettingsIconId, CODE_UNSPECIFIED);
         assertParserError("Non existing icon", ICON_NON_EXISTING + "|abc",
