diff --git a/java/res/values/strings-action-keys.xml b/java/res/values/strings-action-keys.xml
index 7003784c67907fa5e19adc8ed837fc5185b9b5a0..96b2e7dda2651c7ebac7a2a2c6412477891fc646 100644
--- a/java/res/values/strings-action-keys.xml
+++ b/java/res/values/strings-action-keys.xml
@@ -29,6 +29,8 @@
     <string name="label_done_key">Done</string>
     <!-- Label for soft enter key when it performs SEND action.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
     <string name="label_send_key">Send</string>
+    <!-- Label for soft enter key when it performs SEARCH action.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
+    <string name="label_search_key">Search</string>
     <!-- Label for "Pause" key of phone number keyboard.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7] -->
     <string name="label_pause_key">Pause</string>
     <!-- Label for "Wait" key of phone number keyboard.  Must be short to fit on key. 5 chars or less is preferable.  [CHAR LIMIT=7]-->
diff --git a/java/res/xml-sw600dp/key_styles_enter.xml b/java/res/xml-sw600dp/key_styles_enter.xml
index 742bb3ec31bdc514452e2c8d0d28cbc78eb953b8..34396252d8075e03833ef0d90e2bc61724b7cf19 100644
--- a/java/res/xml-sw600dp/key_styles_enter.xml
+++ b/java/res/xml-sw600dp/key_styles_enter.xml
@@ -131,7 +131,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_go_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -150,7 +149,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_next_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -169,7 +167,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_previous_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -188,7 +185,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_done_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -207,11 +203,11 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_send_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
             latin:imeAction="actionSearch"
+            latin:isIconDefined="search_key"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -219,6 +215,14 @@
                 latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
+        <case
+            latin:imeAction="actionSearch"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!text/label_search_key|!code/key_enter"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
         <case
             latin:imeAction="actionCustomLabel"
         >
@@ -226,7 +230,6 @@
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="dummy_label|!code/key_enter"
                 latin:keyLabelFlags="fromCustomActionLabel"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <!-- imeAction is either actionNone or actionUnspecified. -->
diff --git a/java/res/xml/key_styles_enter.xml b/java/res/xml/key_styles_enter.xml
index 1d46dd52335715576bf5a51de52f8fea2def59ad..8add316ab74652c24277d4e7b73babd657b456bc 100644
--- a/java/res/xml/key_styles_enter.xml
+++ b/java/res/xml/key_styles_enter.xml
@@ -298,7 +298,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_go_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -317,7 +316,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_next_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -336,7 +334,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_previous_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -355,7 +352,6 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_done_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
@@ -374,11 +370,11 @@
             <key-style
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="!text/label_send_key|!code/key_enter"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <case
             latin:imeAction="actionSearch"
+            latin:isIconDefined="search_key"
         >
             <key-style
                 latin:styleName="enterKeyStyle"
@@ -386,6 +382,14 @@
                 latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
+        <case
+            latin:imeAction="actionSearch"
+        >
+            <key-style
+                latin:styleName="enterKeyStyle"
+                latin:keySpec="!text/label_search_key|!code/key_enter"
+                latin:parentStyle="defaultEnterKeyStyle" />
+        </case>
         <case
             latin:imeAction="actionCustomLabel"
         >
@@ -393,7 +397,6 @@
                 latin:styleName="enterKeyStyle"
                 latin:keySpec="dummy_label|!code/key_enter"
                 latin:keyLabelFlags="fromCustomActionLabel"
-                latin:backgroundType="action"
                 latin:parentStyle="defaultEnterKeyStyle" />
         </case>
         <!-- imeAction is either actionNone or actionUnspecified. -->
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index 2ec5bcc971a9ee4f30cdda8384213c44a1022ac0..cd6abeed3d731dd2e29008d62f7b0fe3898479de 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -140,6 +140,7 @@ public final class KeyboardTextsSet {
         "label_send_key",
         "label_next_key",
         "label_done_key",
+        "label_search_key",
         "label_previous_key",
         // Other labels.
         "label_pause_key",