diff --git a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java
index 11a9d1fe4f84bb2067fa130ea6a0ed1291fdae5f..ae9bdf3fc4aedc1884bfd1611e79917144bb7401 100644
--- a/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ContactsBinaryDictionary.java
@@ -89,8 +89,6 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
     }
 
     private synchronized void registerObserver(final Context context) {
-        // Perform a managed query. The Activity will handle closing and requerying the cursor
-        // when needed.
         if (mObserver != null) return;
         ContentResolver cres = context.getContentResolver();
         cres.registerContentObserver(Contacts.CONTENT_URI, true, mObserver =
diff --git a/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java b/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java
index 2a195f58b9f526d7109c44d5fb7de5c4bdc74ea0..3e3cbf063e87ff1d450a92b720a1274dc50cb391 100644
--- a/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/UserBinaryDictionary.java
@@ -97,8 +97,6 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {
             mLocale = localeStr;
         }
         mAlsoUseMoreRestrictiveLocales = alsoUseMoreRestrictiveLocales;
-        // Perform a managed query. The Activity will handle closing and re-querying the cursor
-        // when needed.
         ContentResolver cres = context.getContentResolver();
 
         mObserver = new ContentObserver(null) {
diff --git a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java
index 2f41ce9ce44f5d06ce4336c21540d20e3e6d71da..97a924d7b3c2f95c59ff2799a361a238dfac417e 100644
--- a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java
+++ b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionaryList.java
@@ -53,8 +53,7 @@ public class UserDictionaryList extends PreferenceFragment {
     }
 
     public static TreeSet<String> getUserDictionaryLocalesSet(Activity activity) {
-        @SuppressWarnings("deprecation")
-        final Cursor cursor = activity.managedQuery(UserDictionary.Words.CONTENT_URI,
+        final Cursor cursor = activity.getContentResolver().query(UserDictionary.Words.CONTENT_URI,
                 new String[] { UserDictionary.Words.LOCALE },
                 null, null, null);
         final TreeSet<String> localeSet = new TreeSet<String>();
diff --git a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java
index 220efb5d3d68733719094bcee92bbaf12e9cd067..cf2014a1a95866e4b636ea2d075416bddc84f6ae 100644
--- a/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java
+++ b/java/src/com/android/inputmethod/latin/userdictionary/UserDictionarySettings.java
@@ -141,7 +141,10 @@ public class UserDictionarySettings extends ListFragment {
 
         mLocale = locale;
         // WARNING: The following cursor is never closed! TODO: don't put that in a member, and
-        // make sure all cursors are correctly closed.
+        // make sure all cursors are correctly closed. Also, this comes from a call to
+        // Activity#managedQuery, which has been deprecated for a long time (and which FORBIDS
+        // closing the cursor, so take care when resolving this TODO). We should either use a
+        // regular query and close the cursor, or switch to a LoaderManager and a CursorLoader.
         mCursor = createCursor(locale);
         TextView emptyView = (TextView) getView().findViewById(android.R.id.empty);
         emptyView.setText(R.string.user_dict_settings_empty_text);