diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index b6171d2..6a48371 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -183,11 +183,11 @@
 
             mUseContactsDict = prefs.getBoolean(Settings.PREF_KEY_USE_CONTACTS_DICT, true);
 
-            final String voiceMode = prefs.getString(PREF_VOICE_SETTINGS_KEY, null);
-            mVoiceButtonEnabled = voiceMode != null && !voiceMode.equals(
-                    res.getString(R.string.voice_mode_off));
-            mVoiceButtonOnPrimary = voiceMode != null && voiceMode.equals(
-                    res.getString(R.string.voice_mode_main));
+            final String voiceModeMain = res.getString(R.string.voice_mode_main);
+            final String voiceModeOff = res.getString(R.string.voice_mode_off);
+            final String voiceMode = prefs.getString(PREF_VOICE_SETTINGS_KEY, voiceModeMain);
+            mVoiceButtonEnabled = voiceMode != null && !voiceMode.equals(voiceModeOff);
+            mVoiceButtonOnPrimary = voiceMode != null && voiceMode.equals(voiceModeMain);
 
             Utils.setSystemLocale(res, savedLocale);
         }
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index 6580cbc..f10b1b8 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -361,13 +361,17 @@
     }
 
     public boolean isShortcutImeEnabled() {
-        if (mShortcutInputMethodInfo == null)
+        if (mShortcutInputMethodInfo == null) {
             return false;
-        if (mShortcutSubtype == null)
+        }
+        if (mShortcutSubtype == null) {
             return true;
+        }
         // For compatibility, if the shortcut subtype is dummy, we assume the shortcut IME
         // (built-in voice dummy subtype) is available.
-        if (!mShortcutSubtype.hasOriginalObject()) return true;
+        if (!mShortcutSubtype.hasOriginalObject()) {
+            return true;
+        }
         final boolean allowsImplicitlySelectedSubtypes = true;
         for (final InputMethodSubtypeCompatWrapper enabledSubtype :
                 mImm.getEnabledInputMethodSubtypeList(
