diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml
index 28dabf6..4973a99 100644
--- a/java/res/values/strings.xml
+++ b/java/res/values/strings.xml
@@ -129,9 +129,6 @@
     <!-- Description for option to enable auto capitalization of sentences -->
     <string name="auto_cap_summary">Capitalize the first word of each sentence</string>
 
-    <!-- Option to edit personal dictionary. [CHAR_LIMIT=30]-->
-    <string name="edit_personal_dictionary">Personal dictionary</string>
-
     <!-- Option to configure dictionaries -->
     <string name="configure_dictionaries_title">Add-on dictionaries</string>
     <!-- Name of the main dictionary, as opposed to auxiliary dictionaries (medical/entertainment/sports...) -->
diff --git a/java/res/xml/prefs_screen_correction.xml b/java/res/xml/prefs_screen_correction.xml
index a943dc1..d3f5c26 100644
--- a/java/res/xml/prefs_screen_correction.xml
+++ b/java/res/xml/prefs_screen_correction.xml
@@ -20,11 +20,6 @@
     android:title="@string/settings_screen_correction"
     android:key="screen_correction">
     <PreferenceScreen
-        android:key="edit_personal_dictionary"
-        android:title="@string/edit_personal_dictionary">
-        <intent android:action="android.settings.USER_DICTIONARY_SETTINGS" />
-    </PreferenceScreen>
-    <PreferenceScreen
         android:key="configure_dictionaries_key"
         android:title="@string/configure_dictionaries_title">
         <intent
diff --git a/java/src/com/android/inputmethod/latin/DictionaryStats.java b/java/src/com/android/inputmethod/latin/DictionaryStats.java
index a6b37aa..1976971 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryStats.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryStats.java
@@ -20,28 +20,32 @@
 import java.math.BigDecimal;
 import java.util.Locale;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
 public class DictionaryStats {
     public static final int NOT_AN_ENTRY_COUNT = -1;
 
     public final Locale mLocale;
-    public final String mDictName;
-    public final String mDictFilePath;
+    public final String mDictType;
+    public final String mDictFileName;
     public final long mDictFileSize;
     public final int mContentVersion;
 
-    public DictionaryStats(final Locale locale, final String dictName, final File dictFile,
+    public DictionaryStats(
+            @Nonnull final Locale locale,
+            @Nonnull final String dictType,
+            @Nonnull final String dictFileName,
+            @Nullable final File dictFile,
             final int contentVersion) {
         mLocale = locale;
-        mDictName = dictName;
-        mDictFilePath = (dictFile == null) ? null : dictFile.getName();
+        mDictType = dictType;
         mDictFileSize = (dictFile == null || !dictFile.exists()) ? 0 : dictFile.length();
+        mDictFileName = dictFileName;
         mContentVersion = contentVersion;
     }
 
     public String getFileSizeString() {
-        if (mDictFileSize == 0) {
-            return "0";
-        }
         BigDecimal bytes = new BigDecimal(mDictFileSize);
         BigDecimal kb = bytes.divide(new BigDecimal(1024), 2, BigDecimal.ROUND_HALF_UP);
         if (kb.longValue() == 0) {
@@ -56,14 +60,14 @@
 
     @Override
     public String toString() {
-        final StringBuilder builder = new StringBuilder(mDictName);
-        if (mDictName.equals(Dictionary.TYPE_MAIN)) {
+        final StringBuilder builder = new StringBuilder(mDictType);
+        if (mDictType.equals(Dictionary.TYPE_MAIN)) {
             builder.append(" (");
             builder.append(mContentVersion);
             builder.append(")");
         }
         builder.append(": ");
-        builder.append(mDictFilePath);
+        builder.append(mDictFileName);
         builder.append(" / ");
         builder.append(getFileSizeString());
         return builder.toString();
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index 1ef7061..37899d2 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -654,7 +654,7 @@
         asyncExecuteTaskWithLock(mLock.readLock(), new Runnable() {
             @Override
             public void run() {
-                result.set(new DictionaryStats(mLocale, dictName, dictFile, 0));
+                result.set(new DictionaryStats(mLocale, dictName, dictName, dictFile, 0));
             }
         });
         return result.get(null /* defaultValue */, TIMEOUT_FOR_READ_OPS_IN_MILLISECONDS);
diff --git a/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java
index 62834cd..aa73a9a 100644
--- a/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/CorrectionSettingsFragment.java
@@ -16,29 +16,20 @@
 
 package com.android.inputmethod.latin.settings;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.os.Build;
 import android.os.Bundle;
 import android.preference.Preference;
-import android.preference.TwoStatePreference;
 
 import com.android.inputmethod.dictionarypack.DictionarySettingsActivity;
 import com.android.inputmethod.latin.R;
-import com.android.inputmethod.latin.userdictionary.UserDictionaryList;
-import com.android.inputmethod.latin.userdictionary.UserDictionarySettings;
-
-import java.util.TreeSet;
 
 /**
  * "Text correction" settings sub screen.
  *
  * This settings sub screen handles the following text correction preferences.
- * - Personal dictionary
  * - Add-on dictionaries
  * - Block offensive words
  * - Auto-correction
@@ -68,39 +59,5 @@
         if (0 >= number) {
             removePreference(Settings.PREF_CONFIGURE_DICTIONARIES_KEY);
         }
-
-        final Preference editPersonalDictionary =
-                findPreference(Settings.PREF_EDIT_PERSONAL_DICTIONARY);
-        final Intent editPersonalDictionaryIntent = editPersonalDictionary.getIntent();
-        final ResolveInfo ri = USE_INTERNAL_PERSONAL_DICTIONARY_SETTINGS ? null
-                : pm.resolveActivity(
-                        editPersonalDictionaryIntent, PackageManager.MATCH_DEFAULT_ONLY);
-        if (ri == null) {
-            overwriteUserDictionaryPreference(editPersonalDictionary);
-        }
-    }
-
-    private void overwriteUserDictionaryPreference(final Preference userDictionaryPreference) {
-        final Activity activity = getActivity();
-        final TreeSet<String> localeList = UserDictionaryList.getUserDictionaryLocalesSet(activity);
-        if (null == localeList) {
-            // The locale list is null if and only if the user dictionary service is
-            // not present or disabled. In this case we need to remove the preference.
-            getPreferenceScreen().removePreference(userDictionaryPreference);
-        } else if (localeList.size() <= 1) {
-            userDictionaryPreference.setFragment(UserDictionarySettings.class.getName());
-            // If the size of localeList is 0, we don't set the locale parameter in the
-            // extras. This will be interpreted by the UserDictionarySettings class as
-            // meaning "the current locale".
-            // Note that with the current code for UserDictionaryList#getUserDictionaryLocalesSet()
-            // the locale list always has at least one element, since it always includes the current
-            // locale explicitly. @see UserDictionaryList.getUserDictionaryLocalesSet().
-            if (localeList.size() == 1) {
-                final String locale = (String)localeList.toArray()[0];
-                userDictionaryPreference.getExtras().putString("locale", locale);
-            }
-        } else {
-            userDictionaryPreference.setFragment(UserDictionaryList.class.getName());
-        }
     }
 }
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index 715f7bb..e9645ee 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -55,7 +55,6 @@
     // PREF_VOICE_MODE_OBSOLETE is obsolete. Use PREF_VOICE_INPUT_KEY instead.
     public static final String PREF_VOICE_MODE_OBSOLETE = "voice_mode";
     public static final String PREF_VOICE_INPUT_KEY = "pref_voice_input_key";
-    public static final String PREF_EDIT_PERSONAL_DICTIONARY = "edit_personal_dictionary";
     public static final String PREF_CONFIGURE_DICTIONARIES_KEY = "configure_dictionaries_key";
     // PREF_AUTO_CORRECTION_THRESHOLD_OBSOLETE is obsolete. Use PREF_AUTO_CORRECTION instead.
     public static final String PREF_AUTO_CORRECTION_THRESHOLD_OBSOLETE =
