diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java
index a4bc9fe..d30018f 100644
--- a/src/com/android/providers/downloads/DownloadProvider.java
+++ b/src/com/android/providers/downloads/DownloadProvider.java
@@ -1260,19 +1260,6 @@
             logVerboseOpenFileInfo(uri, mode);
         }
 
-        // Perform normal query to enforce caller identity access before
-        // clearing it to reach internal-only columns
-        final Cursor probeCursor = query(uri, new String[] {
-                Downloads.Impl._DATA }, null, null, null);
-        try {
-            if ((probeCursor == null) || (probeCursor.getCount() == 0)) {
-                throw new FileNotFoundException(
-                        "No file found for " + uri + " as UID " + Binder.getCallingUid());
-            }
-        } finally {
-            IoUtils.closeQuietly(probeCursor);
-        }
-
         final Cursor cursor = queryCleared(uri, new String[] {
                 Downloads.Impl._DATA, Downloads.Impl.COLUMN_STATUS,
                 Downloads.Impl.COLUMN_DESTINATION, Downloads.Impl.COLUMN_MEDIA_SCANNED }, null,
