diff --git a/main/media_cache.c b/main/media_cache.c
index 7be358879fca60ee1f277a25476516f4693f306e..2592f353a9b8a309cb95d4eb604b4bc96f93c7d6 100644
--- a/main/media_cache.c
+++ b/main/media_cache.c
@@ -224,7 +224,8 @@ int ast_media_cache_retrieve(const char *uri, const char *preferred_file_name,
 	 */
 	bucket_file = ao2_find(media_cache, uri, OBJ_SEARCH_KEY | OBJ_NOLOCK);
 	if (bucket_file) {
-		if (!ast_bucket_file_is_stale(bucket_file)) {
+		if (!ast_bucket_file_is_stale(bucket_file)
+			&& !access(bucket_file->path, R_OK)) {
 			ast_copy_string(file_path, bucket_file->path, len);
 			if ((ext = strrchr(file_path, '.'))) {
 				*ext = '\0';