diff --git a/pom.xml b/pom.xml
index 0ed64813afec23b2f99b169ef5417ba250efd37c..f14d703e9286da4e5212d9150bcab28a9cc7112f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -70,7 +70,7 @@
 		<org.mysql.version>5.1.46</org.mysql.version>
 		<org.postgresql.version>42.2.5</org.postgresql.version>
 		<org.infinispan.version>9.2.3.Final</org.infinispan.version>
-		<lucene.version>7.5.0</lucene.version>
+		<lucene.version>7.7.0</lucene.version>
 		<version.selenium>3.13.0</version.selenium>
 		<version.drone>2.5.1</version.drone>
 		<activemq.version>5.15.8</activemq.version>
diff --git a/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java b/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java
index 65b58ccb2c2d7dd8e5dcdb81f07aa8ca68d61654..4816d82c2212ebc0068402c84354603d8e99b9e1 100644
--- a/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java
+++ b/src/main/java/org/olat/search/service/document/file/FileTypeDetector.java
@@ -25,7 +25,6 @@ import java.io.InputStream;
 
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
-import org.olat.core.util.FileUtils;
 import org.olat.core.util.vfs.VFSLeaf;
 
 /**
@@ -52,20 +51,18 @@ public class FileTypeDetector {
 			throw new DocumentNotImplementedException("I cannot detect the document suffix (marked with '.') for " + fileName);
 		}
 		String suffix = fileName.substring(dotpos+1).toLowerCase();
-		if("doc".equals(suffix)) {
-			if(checkMagicBytes(leaf, ZIP)) return "docx";
-		} else if("xls".equals(suffix)) {
-			if(checkMagicBytes(leaf, ZIP)) return "xlsx";
-		} else if("ppt".equals(suffix)) {
-			if(checkMagicBytes(leaf, ZIP)) return "pptx";
+		if("doc".equals(suffix) && checkMagicBytes(leaf, ZIP)) {
+			return "docx";
+		} else if("xls".equals(suffix) && checkMagicBytes(leaf, ZIP)) {
+			return "xlsx";
+		} else if("ppt".equals(suffix) && checkMagicBytes(leaf, ZIP)) {
+			return "pptx";
 		}
 		return suffix;
 	}
 	
 	public static boolean checkMagicBytes(VFSLeaf leaf, String reference) {
-		InputStream in = null;
-		try {
-			in = leaf.getInputStream();
+		try(InputStream in = leaf.getInputStream()) {
 			byte[] buffer = new byte[50];
 			int n = in.read(buffer);
 			if (n > 0) {
@@ -78,8 +75,6 @@ public class FileTypeDetector {
 			}
 		} catch (IOException e) {
 			log.warn("", e);
-		} finally {
-			FileUtils.closeSafely(in);
 		}
 		return false;
 	}
diff --git a/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java b/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java
index 62edfaaf2af4ea1aa76a0b1588f6f553a4616e27..c1008fe8499dd710d321608baebed1992bd7e6d6 100644
--- a/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java
+++ b/src/test/java/org/olat/search/service/document/file/FileDocumentFactoryTest.java
@@ -89,6 +89,8 @@ public class FileDocumentFactoryTest extends OlatTestCase {
 
 		Assert.assertTrue("DOC must be supported", fileDocumentFactory.isFileSupported(getVFSFile("test2.DOC")));
 		Assert.assertTrue("doc must be supported", fileDocumentFactory.isFileSupported(getVFSFile("test.doc")));
+		
+		Assert.assertTrue("doc must be supported", fileDocumentFactory.isFileSupported(getVFSFile("Test_word_indexing.docx")));
 
 		Assert.assertTrue("TXT must be supported", fileDocumentFactory.isFileSupported("test.TXT"));
 		Assert.assertTrue("txt must be supported", fileDocumentFactory.isFileSupported("test.txt"));