diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 34ce527..4dfa5ab 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <declare-styleable name="KeyboardTheme">
-        <attr name="themeId" format="integer" />
         <!-- Keyboard style -->
         <attr name="keyboardStyle" format="reference" />
         <!-- LatinKeyboard style -->
@@ -34,8 +33,6 @@
         <attr name="moreSuggestionsViewStyle" format="reference" />
         <attr name="suggestionBackgroundStyle" format="reference" />
         <attr name="suggestionPreviewBackgroundStyle" format="reference" />
-        <!-- Touch position correction -->
-        <attr name="touchPositionCorrectionData" format="reference" />
     </declare-styleable>
 
     <declare-styleable name="KeyboardView">
@@ -140,6 +137,9 @@
     </declare-styleable>
 
     <declare-styleable name="Keyboard">
+        <attr name="themeId" format="integer" />
+        <!-- Touch position correction -->
+        <attr name="touchPositionCorrectionData" format="reference" />
         <!-- Default keyboard height -->
         <attr name="keyboardHeight" format="dimension|fraction" />
         <!-- Maximum keyboard height, in pixels or percentage of display height -->
diff --git a/java/res/values/styles.xml b/java/res/values/styles.xml
index c6ea2a5..30c0e5a 100644
--- a/java/res/values/styles.xml
+++ b/java/res/values/styles.xml
@@ -17,6 +17,8 @@
 <resources>
     <!-- Theme "Basic" -->
     <style name="Keyboard">
+        <item name="themeId">0</item>
+        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
         <item name="rowHeight">25%p</item>
         <item name="keyboardHeight">@dimen/keyboardHeight</item>
         <item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item>
@@ -119,6 +121,12 @@
     </style>
     <!-- Theme "Basic high contrast" -->
     <style
+        name="Keyboard.HighContrast"
+        parent="Keyboard"
+    >
+        <item name="themeId">1</item>
+    </style>
+    <style
         name="KeyboardView.HighContrast"
         parent="KeyboardView"
     >
@@ -130,6 +138,7 @@
         name="Keyboard.Stone"
         parent="Keyboard"
     >
+        <item name="themeId">6</item>
         <item name="keyboardHeight">@dimen/keyboardHeight_stone</item>
         <item name="keyboardTopPadding">@fraction/keyboard_top_padding_stone</item>
         <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_stone</item>
@@ -174,6 +183,12 @@
     </style>
     <!-- Theme "Stone bold" -->
     <style
+        name="Keyboard.Stone.Bold"
+        parent="Keyboard.Stone"
+    >
+        <item name="themeId">7</item>
+    </style>
+    <style
         name="KeyboardView.Stone.Bold"
         parent="KeyboardView.Stone"
     >
@@ -184,6 +199,8 @@
         name="Keyboard.Gingerbread"
         parent="Keyboard"
     >
+        <item name="themeId">8</item>
+        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
         <item name="horizontalGap">@fraction/key_horizontal_gap_gb</item>
         <item name="verticalGap">@fraction/key_bottom_gap_gb</item>
     </style>
@@ -214,10 +231,12 @@
         name="Keyboard.IceCreamSandwich"
         parent="Keyboard"
     >
+        <item name="themeId">5</item>
         <item name="keyboardTopPadding">@fraction/keyboard_top_padding_ics</item>
         <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding_ics</item>
         <item name="horizontalGap">@fraction/key_horizontal_gap_ics</item>
         <item name="verticalGap">@fraction/key_bottom_gap_ics</item>
+        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
     </style>
     <style
         name="LatinKeyboard.IceCreamSandwich"
diff --git a/java/res/values/themes-basic-highcontrast.xml b/java/res/values/themes-basic-highcontrast.xml
index bc3c847..abb7c80 100644
--- a/java/res/values/themes-basic-highcontrast.xml
+++ b/java/res/values/themes-basic-highcontrast.xml
@@ -16,8 +16,7 @@
 
 <resources>
     <style name="KeyboardTheme.HighContrast" parent="KeyboardIcons">
-        <item name="themeId">1</item>
-        <item name="keyboardStyle">@style/Keyboard</item>
+        <item name="keyboardStyle">@style/Keyboard.HighContrast</item>
         <item name="latinKeyboardStyle">@style/LatinKeyboard</item>
         <item name="keyboardViewStyle">@style/KeyboardView.HighContrast</item>
         <item name="miniKeyboardStyle">@style/MiniKeyboard</item>
@@ -28,6 +27,5 @@
         <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
         <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
         <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
     </style>
 </resources>
diff --git a/java/res/values/themes-basic.xml b/java/res/values/themes-basic.xml
index 29cb9cc..ff9fed5 100644
--- a/java/res/values/themes-basic.xml
+++ b/java/res/values/themes-basic.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <style name="KeyboardTheme" parent="KeyboardIcons">
-        <item name="themeId">0</item>
         <item name="keyboardStyle">@style/Keyboard</item>
         <item name="latinKeyboardStyle">@style/LatinKeyboard</item>
         <item name="keyboardViewStyle">@style/KeyboardView</item>
@@ -28,6 +27,5 @@
         <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
         <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
         <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
     </style>
 </resources>
diff --git a/java/res/values/themes-gingerbread.xml b/java/res/values/themes-gingerbread.xml
index c4a0f80..be853eb 100644
--- a/java/res/values/themes-gingerbread.xml
+++ b/java/res/values/themes-gingerbread.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <style name="KeyboardTheme.Gingerbread" parent="KeyboardIcons">
-        <item name="themeId">8</item>
         <item name="keyboardStyle">@style/Keyboard.Gingerbread</item>
         <item name="latinKeyboardStyle">@style/LatinKeyboard</item>
         <item name="keyboardViewStyle">@style/KeyboardView.Gingerbread</item>
@@ -28,6 +27,5 @@
         <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
         <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
         <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_gingerbread</item>
     </style>
 </resources>
diff --git a/java/res/values/themes-ics.xml b/java/res/values/themes-ics.xml
index dd2b6a3..618aaed 100644
--- a/java/res/values/themes-ics.xml
+++ b/java/res/values/themes-ics.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <style name="KeyboardTheme.IceCreamSandwich" parent="KeyboardIcons.IceCreamSandwich">
-        <item name="themeId">5</item>
         <item name="keyboardStyle">@style/Keyboard.IceCreamSandwich</item>
         <item name="latinKeyboardStyle">@style/LatinKeyboard.IceCreamSandwich</item>
         <item name="keyboardViewStyle">@style/KeyboardView.IceCreamSandwich</item>
@@ -28,6 +27,5 @@
         <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle.IceCreamSandwich</item>
         <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle.IceCreamSandwich</item>
         <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle.IceCreamSandwich</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_ice_cream_sandwich</item>
     </style>
 </resources>
diff --git a/java/res/values/themes-stone-bold.xml b/java/res/values/themes-stone-bold.xml
index 6e864be..fdf9c51 100644
--- a/java/res/values/themes-stone-bold.xml
+++ b/java/res/values/themes-stone-bold.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <style name="KeyboardTheme.Stone.Bold" parent="KeyboardIcons.Black">
-        <item name="themeId">7</item>
         <item name="keyboardStyle">@style/Keyboard.Stone</item>
         <item name="latinKeyboardStyle">@style/LatinKeyboard.Stone</item>
         <item name="keyboardViewStyle">@style/KeyboardView.Stone.Bold</item>
@@ -28,6 +27,5 @@
         <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
         <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
         <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
     </style>
 </resources>
diff --git a/java/res/values/themes-stone.xml b/java/res/values/themes-stone.xml
index 64c5570..cb3edc5 100644
--- a/java/res/values/themes-stone.xml
+++ b/java/res/values/themes-stone.xml
@@ -16,7 +16,6 @@
 
 <resources>
     <style name="KeyboardTheme.Stone" parent="KeyboardIcons.Black">
-        <item name="themeId">6</item>
         <item name="keyboardStyle">@style/Keyboard.Stone</item>
         <item name="latinKeyboardStyle">@style/LatinKeyboard.Stone</item>
         <item name="keyboardViewStyle">@style/KeyboardView.Stone</item>
@@ -28,6 +27,5 @@
         <item name="moreSuggestionsViewStyle">@style/MoreSuggestionsViewStyle</item>
         <item name="suggestionBackgroundStyle">@style/SuggestionBackgroundStyle</item>
         <item name="suggestionPreviewBackgroundStyle">@style/SuggestionPreviewBackgroundStyle</item>
-        <item name="touchPositionCorrectionData">@array/touch_position_correction_data_empty</item>
     </style>
 </resources>
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 46836da..3cdde09 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -247,54 +247,50 @@
 
         mParams = params;
 
-        final TypedArray a = context.obtainStyledAttributes(R.styleable.KeyboardTheme);
-        mParams.mThemeId = a.getInt(R.styleable.KeyboardTheme_themeId, 0);
-        a.recycle();
+        setTouchPositionCorrectionData(context, params);
 
-        if (!setTouchPositionCorrectionData(context)) {
-            // In the regression test, setTouchPositionCorrectionData() fails
-            mParams.mTouchPositionCorrectionXs = null;
-            mParams.mTouchPositionCorrectionYs = null;
-            mParams.mTouchPositionCorrectionRadii = null;
-        }
-
-        mParams.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
-        mParams.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
+        params.GRID_WIDTH = res.getInteger(R.integer.config_keyboard_grid_width);
+        params.GRID_HEIGHT = res.getInteger(R.integer.config_keyboard_grid_height);
     }
 
-    private boolean setTouchPositionCorrectionData(Context context) {
-        final TypedArray a = context.obtainStyledAttributes(R.styleable.KeyboardTheme);
-        final int resourceId = a.getResourceId(
-                R.styleable.KeyboardTheme_touchPositionCorrectionData, 0);
+    private static void setTouchPositionCorrectionData(Context context, KeyboardParams params) {
+        params.mTouchPositionCorrectionXs = null;
+        params.mTouchPositionCorrectionYs = null;
+        params.mTouchPositionCorrectionRadii = null;
+
+        final TypedArray a = context.obtainStyledAttributes(R.styleable.Keyboard);
+        params.mThemeId = a.getInt(R.styleable.Keyboard_themeId, 0);
+        final int resourceId = a.getResourceId(R.styleable.Keyboard_touchPositionCorrectionData, 0);
         if (resourceId == 0) {
-            // In the regression test, we cannot use theme resources
-            // TODO: Fix this
-            return false;
+            if (LatinImeLogger.sDBG)
+                throw new RuntimeException("touchPositionCorrectionData is not defined");
+            return;
         }
+
         final String[] data = context.getResources().getStringArray(resourceId);
         a.recycle();
         final int dataLength = data.length;
         if (dataLength % TOUCH_POSITION_CORRECTION_RECORD_SIZE != 0) {
-            if (LatinImeLogger.sDBG) {
+            if (LatinImeLogger.sDBG)
                 throw new RuntimeException("the size of touch position correction data is invalid");
-            }
-            return false;
+            return;
         }
+
         final int length = dataLength / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
-        mParams.mTouchPositionCorrectionXs = new float[length];
-        mParams.mTouchPositionCorrectionYs = new float[length];
-        mParams.mTouchPositionCorrectionRadii = new float[length];
+        params.mTouchPositionCorrectionXs = new float[length];
+        params.mTouchPositionCorrectionYs = new float[length];
+        params.mTouchPositionCorrectionRadii = new float[length];
         try {
             for (int i = 0; i < dataLength; ++i) {
                 final int type = i % TOUCH_POSITION_CORRECTION_RECORD_SIZE;
                 final int index = i / TOUCH_POSITION_CORRECTION_RECORD_SIZE;
                 final float value = Float.parseFloat(data[i]);
                 if (type == 0) {
-                    mParams.mTouchPositionCorrectionXs[index] = value;
+                    params.mTouchPositionCorrectionXs[index] = value;
                 } else if (type == 1) {
-                    mParams.mTouchPositionCorrectionYs[index] = value;
+                    params.mTouchPositionCorrectionYs[index] = value;
                 } else {
-                    mParams.mTouchPositionCorrectionRadii[index] = value;
+                    params.mTouchPositionCorrectionRadii[index] = value;
                 }
             }
         } catch (NumberFormatException e) {
@@ -302,9 +298,10 @@
                 throw new RuntimeException(
                         "the number format for touch position correction data is invalid");
             }
-            return false;
+            params.mTouchPositionCorrectionXs = null;
+            params.mTouchPositionCorrectionYs = null;
+            params.mTouchPositionCorrectionRadii = null;
         }
-        return true;
     }
 
     public KeyboardBuilder<KP> load(KeyboardId id) {
