diff --git a/typo3/sysext/core/Classes/Resource/Index/Indexer.php b/typo3/sysext/core/Classes/Resource/Index/Indexer.php
index 2813fdd65616f786d29aa1df4b76e9c65c67b709..25d69d47d1befdc429dbab0730e4064434ee2978 100644
--- a/typo3/sysext/core/Classes/Resource/Index/Indexer.php
+++ b/typo3/sysext/core/Classes/Resource/Index/Indexer.php
@@ -14,6 +14,8 @@ namespace TYPO3\CMS\Core\Resource\Index;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Resource\Exception\IllegalFileExtensionException;
+use TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException;
 use TYPO3\CMS\Core\Resource\File;
 use TYPO3\CMS\Core\Resource\ResourceFactory;
 use TYPO3\CMS\Core\Resource\ResourceStorage;
@@ -108,10 +110,15 @@ class Indexer
             $fileObject = $this->getResourceFactory()->getFileObject($indexRecord['uid'], $indexRecord);
             // Check for existence of file before extraction
             if ($fileObject->exists()) {
-                $this->extractMetaData($fileObject);
-
-                // Mark file as missing and continue with next record
+                try {
+                    $this->extractMetaData($fileObject);
+                } catch (InsufficientFileAccessPermissionsException $e) {
+                    //  We skip files that are not accessible
+                } catch (IllegalFileExtensionException $e) {
+                    //  We skip files that have an extension that we don't allow
+                }
             } else {
+                // Mark file as missing and continue with next record
                 $this->getFileIndexRepository()->markFileAsMissing($indexRecord['uid']);
             }
         }