diff --git a/tests/tests/content/src/android/content/res/cts/ConfigTest.java b/tests/tests/content/src/android/content/res/cts/ConfigTest.java
index 0b94b6f..c56c408 100644
--- a/tests/tests/content/src/android/content/res/cts/ConfigTest.java
+++ b/tests/tests/content/src/android/content/res/cts/ConfigTest.java
@@ -1260,24 +1260,17 @@
 
         // Check that the list of locales doesn't contain any of the
         // "tl" variants. They should've been converted to "fil"
-        // locales.
+        // locales. We can't check for "fil" locales because OEMs sadly
+        // still ship devices without all the localizations (http://b/18158040).
         AssetManager am = config.getResources().getAssets();
         String[] locales = am.getLocales();
-        final List<String> tlLocales = new ArrayList<String>(4);
-        final List<String> filLocales = new ArrayList<String>(4);
+        final List<String> tlLocales = new ArrayList<String>();
         for (String locale : locales) {
             if (locale.startsWith("tl-") || locale.equals("tl")) {
                 tlLocales.add(locale);
             }
-
-            if (locale.startsWith("fil-") || locale.equals("fil")) {
-                filLocales.add(locale);
-            }
         }
 
         assertEquals(0, tlLocales.size());
-        assertEquals(2, filLocales.size());
-        assertTrue(filLocales.contains("fil"));
-        assertTrue(filLocales.contains("fil-PH"));
     }
 }
