diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 0e3bf8011b2f4630439805fd4876ac3edd0f708e..2bc8311b393ce45e6741487ff4efe443c90b98db 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -152,7 +152,11 @@ public class AndroidSpellCheckerService extends SpellCheckerService
 
     private void startUsingContactsDictionaryLocked() {
         if (null == mContactsDictionary) {
-            mContactsDictionary = new SynchronouslyLoadedContactsDictionary(this);
+            if (LatinIME.USE_BINARY_CONTACTS_DICTIONARY) {
+                mContactsDictionary = new SynchronouslyLoadedContactsBinaryDictionary(this);
+            } else {
+                mContactsDictionary = new SynchronouslyLoadedContactsDictionary(this);
+            }
         }
         final Iterator<WeakReference<DictionaryCollection>> iterator =
                 mDictionaryCollectionsList.iterator();