diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryDecayingTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryDecayingTests.java
index 7d664c8251465b4f5b68c368cbc6f03a8844cf69..5702a62f4597b69f3508bb1ab21f9380fac6b25d 100644
--- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryDecayingTests.java
+++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryDecayingTests.java
@@ -55,8 +55,8 @@ public class BinaryDictionaryDecayingTests extends AndroidTestCase {
 
     @Override
     protected void tearDown() throws Exception {
-        super.tearDown();
         stopTestModeInNativeCode();
+        super.tearDown();
     }
 
     private void addUnigramWord(final BinaryDictionary binaryDictionary, final String word,
diff --git a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
index 13700418f9d9cb69689876290ac9920f7dbf4506..c1adf6557a89f173a7f42dd5958239eeb51ced7e 100644
--- a/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
+++ b/tests/src/com/android/inputmethod/latin/BinaryDictionaryTests.java
@@ -43,16 +43,6 @@ public class BinaryDictionaryTests extends AndroidTestCase {
     private static final String TEST_DICT_FILE_EXTENSION = ".testDict";
     private static final String TEST_LOCALE = "test";
 
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
     private File createEmptyDictionaryAndGetFile(final String dictId,
             final int formatVersion) throws IOException {
        if (formatVersion == FormatSpec.VERSION4) {
diff --git a/tests/src/com/android/inputmethod/latin/EditDistanceTests.java b/tests/src/com/android/inputmethod/latin/EditDistanceTests.java
index 0b7fcbbe809c07c4d993b28de1df58e0c99c42c0..ffec20ab20e8e8b3a24fe6a6532462d7b6dd1146 100644
--- a/tests/src/com/android/inputmethod/latin/EditDistanceTests.java
+++ b/tests/src/com/android/inputmethod/latin/EditDistanceTests.java
@@ -21,16 +21,6 @@ import android.test.suitebuilder.annotation.SmallTest;
 
 @SmallTest
 public class EditDistanceTests extends AndroidTestCase {
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-
     /*
      * dist(kitten, sitting) == 3
      *
diff --git a/tests/src/com/android/inputmethod/latin/InputTestsBase.java b/tests/src/com/android/inputmethod/latin/InputTestsBase.java
index fb6bda70bfe36f87e16bc822d9550b5a3fde9a90..06b64b439b2c5426c89b80edbf943e11bd4692e7 100644
--- a/tests/src/com/android/inputmethod/latin/InputTestsBase.java
+++ b/tests/src/com/android/inputmethod/latin/InputTestsBase.java
@@ -38,6 +38,8 @@ import android.widget.FrameLayout;
 import com.android.inputmethod.keyboard.Key;
 import com.android.inputmethod.keyboard.Keyboard;
 import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
+import com.android.inputmethod.latin.settings.DebugSettings;
+import com.android.inputmethod.latin.settings.Settings;
 import com.android.inputmethod.latin.utils.LocaleUtils;
 import com.android.inputmethod.latin.utils.SubtypeLocaleUtils;
 
@@ -47,8 +49,6 @@ import java.util.concurrent.TimeUnit;
 public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
     private static final String TAG = InputTestsBase.class.getSimpleName();
 
-    private static final String PREF_DEBUG_MODE = "debug_mode";
-    private static final String PREF_AUTO_CORRECTION_THRESHOLD = "auto_correction_threshold";
     // Default value for auto-correction threshold. This is the string representation of the
     // index in the resources array of auto-correction threshold settings.
     private static final String DEFAULT_AUTO_CORRECTION_THRESHOLD = "1";
@@ -65,6 +65,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
     protected View mInputView;
     protected InputConnection mInputConnection;
     private boolean mPreviousDebugSetting;
+    private boolean mPreviousBigramPredictionSettings;
     private String mPreviousAutoCorrectSetting;
 
     // A helper class to ease span tests
@@ -163,7 +164,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
 
     // returns the previous setting value
     protected boolean setDebugMode(final boolean value) {
-        return setBooleanPreference(PREF_DEBUG_MODE, value, false);
+        return setBooleanPreference(DebugSettings.PREF_DEBUG_MODE, value, false);
     }
 
     protected EditorInfo enrichEditorInfo(final EditorInfo ei) {
@@ -184,7 +185,9 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
         setupService();
         mLatinIME = getService();
         mPreviousDebugSetting = setDebugMode(true);
-        mPreviousAutoCorrectSetting = setStringPreference(PREF_AUTO_CORRECTION_THRESHOLD,
+        mPreviousBigramPredictionSettings = setBooleanPreference(Settings.PREF_BIGRAM_PREDICTIONS,
+                true, true /* defaultValue */);
+        mPreviousAutoCorrectSetting = setStringPreference(Settings.PREF_AUTO_CORRECTION_THRESHOLD,
                 DEFAULT_AUTO_CORRECTION_THRESHOLD, DEFAULT_AUTO_CORRECTION_THRESHOLD);
         mLatinIME.onCreate();
         EditorInfo ei = new EditorInfo();
@@ -209,11 +212,14 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
     }
 
     @Override
-    protected void tearDown() {
+    protected void tearDown() throws Exception {
         mLatinIME.mHandler.removeAllMessages();
-        setStringPreference(PREF_AUTO_CORRECTION_THRESHOLD, mPreviousAutoCorrectSetting,
+        setBooleanPreference(Settings.PREF_BIGRAM_PREDICTIONS, mPreviousBigramPredictionSettings,
+                true /* defaultValue */);
+        setStringPreference(Settings.PREF_AUTO_CORRECTION_THRESHOLD, mPreviousAutoCorrectSetting,
                 DEFAULT_AUTO_CORRECTION_THRESHOLD);
         setDebugMode(mPreviousDebugSetting);
+        super.tearDown();
     }
 
     // We need to run the messages added to the handler from LatinIME. The only way to do
diff --git a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
index 75a1aa3ca14d9e78b7b47ed602d555b3f1bb459a..141730de9dd0e35ed1004c05d4ae1841faece33e 100644
--- a/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
+++ b/tests/src/com/android/inputmethod/latin/makedict/BinaryDictDecoderEncoderTests.java
@@ -115,9 +115,9 @@ public class BinaryDictDecoderEncoderTests extends AndroidTestCase {
 
     @Override
     protected void tearDown() throws Exception {
-        super.tearDown();
         // Quit test mode.
         BinaryDictionary.setCurrentTimeForTest(-1);
+        super.tearDown();
     }
 
     private void generateWords(final int number, final Random random) {