diff --git a/src/main/java/org/olat/core/commons/modules/bc/FolderManager.java b/src/main/java/org/olat/core/commons/modules/bc/FolderManager.java
index 3e67e7bfc9bb7ceadfc0805f246353b193ca05d6..da31f9af008bba585ac575c22b2135ebe45ec89d 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/FolderManager.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/FolderManager.java
@@ -48,6 +48,8 @@ import org.olat.core.util.vfs.filters.SystemItemFilter;
  * @author Mike Stock
  */
 public class FolderManager  extends BasicManager {
+	
+	private static FolderModule folderModule = CoreSpringFactory.getImpl(FolderModule.class);
 
 	/**
 	 * Get this path as a full WebDAV link
@@ -100,4 +102,28 @@ public class FolderManager  extends BasicManager {
 		}
 	}
 	
+	/**
+	 * Check if a file is offered as a download or as inline rendered. If
+	 * security is enabled in the module, this will return true for all file
+	 * types. If disabled it will depend on the mime type.
+	 * 
+	 * @param name the File name (including mime type extension, e.g. "index.html"
+	 * @return true: force file download; false: open in new browser window
+	 */
+	public static boolean isDownloadForcedFileType(String name) {
+		// If enabled in module, no further checks necessary. 
+		boolean download = folderModule.isForceDownload();
+		if (!download) {
+			// Additional check if not an html or txt page. Only HTML pages are
+			// displayed in browser, all other should be downloaded.
+			// Excel, Word and PowerPoint not allowed to open inline, they will show
+			// an unsupported WebDAV loginpromt!
+			String mimeType = WebappHelper.getMimeType(name);
+			if (mimeType != null && !"text/html".equals(mimeType) && !"application/xhtml+xml".equals(mimeType)) {
+				download = true;
+			}					
+		}
+		return download;
+	}
+	
 }
diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java
index a3778f2fff6536dc1b3a4c84f0bf86b594a13229..05b3049dfd9c9d08ed7e3fc52824d9533436b6e4 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdServeResource.java
@@ -30,9 +30,8 @@ import java.io.InputStream;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.modules.bc.FolderLoggingAction;
-import org.olat.core.commons.modules.bc.FolderModule;
+import org.olat.core.commons.modules.bc.FolderManager;
 import org.olat.core.commons.modules.bc.components.FolderComponent;
 import org.olat.core.commons.modules.bc.meta.MetaInfo;
 import org.olat.core.commons.modules.bc.meta.tagged.MetaTagged;
@@ -82,9 +81,9 @@ public class CmdServeResource implements FolderCommand {
 		} else if(!(vfsitem instanceof VFSLeaf)) {
 			mr = new NotFoundMediaResource(path);
 		} else {
-			boolean forceDownload = CoreSpringFactory.getImpl(FolderModule.class).isForceDownload();
 			
 			VFSLeaf vfsfile = (VFSLeaf)vfsitem;
+			boolean forceDownload = FolderManager.isDownloadForcedFileType(vfsfile.getName());
 			if (path.toLowerCase().endsWith(".html") || path.toLowerCase().endsWith(".htm")) {
 				// setCurrentURI(path);
 				// set the http content-type and the encoding
@@ -161,10 +160,7 @@ public class CmdServeResource implements FolderCommand {
 			} else {
 				// binary data: not .html, not .htm, not .js -> treated as is
 				VFSMediaResource vmr = new VFSMediaResource(vfsfile);
-				// This is to prevent the login prompt in Excel, Word and PowerPoint
-				if (path.endsWith(".xlsx") || path.endsWith(".pptx") || path.endsWith(".docx")) {
-					vmr.setDownloadable(true);
-				} else if(forceDownload) {
+				if(forceDownload) {
 					vmr.setDownloadable(true);
 				}
 				mr = vmr;
diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java
index 7efb164c94217829168883726e63df9c96af1978..7e21b0ba96b542e79fcd4e561d58e4c005e4f974 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java
@@ -33,7 +33,7 @@ import java.util.List;
 import org.olat.core.CoreSpringFactory;
 import org.olat.core.commons.modules.bc.FileSelection;
 import org.olat.core.commons.modules.bc.FolderConfig;
-import org.olat.core.commons.modules.bc.FolderModule;
+import org.olat.core.commons.modules.bc.FolderManager;
 import org.olat.core.commons.modules.bc.meta.MetaInfo;
 import org.olat.core.commons.modules.bc.meta.tagged.MetaTagged;
 import org.olat.core.gui.components.form.flexible.impl.NameValuePair;
@@ -47,7 +47,6 @@ import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
 import org.olat.core.util.Formatter;
 import org.olat.core.util.StringHelper;
-import org.olat.core.util.WebappHelper;
 import org.olat.core.util.vfs.AbstractVirtualContainer;
 import org.olat.core.util.vfs.NamedContainerImpl;
 import org.olat.core.util.vfs.VFSConstants;
@@ -85,7 +84,6 @@ public class ListRenderer {
 	/** View thumbnail */
 	public static final String PARAM_SERV_THUMBNAIL = "servthumb";
 
-	private FolderModule folderModule;
 	private VFSLockManager lockManager;
 	private UserManager userManager;
  	
@@ -113,9 +111,6 @@ public class ListRenderer {
 		if(userManager == null) {
 			userManager = CoreSpringFactory.getImpl(UserManager.class);
 		}
-		if(folderModule == null) {
-			folderModule = CoreSpringFactory.getImpl(FolderModule.class);
-		}
 
 		List<VFSItem> children = fc.getCurrentContainerChildren();
 		// folder empty?
@@ -256,15 +251,7 @@ public class ListRenderer {
 				ubu.buildURI(sb, new String[] { PARAM_SERV }, new String[] { "x" }, pathAndName, AJAXFlags.MODE_NORMAL);
 				sb.append("\"");
 
-				boolean download = folderModule.isForceDownload();
-				if (!download) {
-					// additional check if not an html or txt page. Only HTML pages are
-					// displayed in browser, all other should be downloaded
-					String mimeType = WebappHelper.getMimeType(name);
-					if (mimeType != null && !"text/html".equals(mimeType) && !"application/xhtml+xml".equals(mimeType)) {
-						download = true;
-					}					
-				}
+				boolean download = FolderManager.isDownloadForcedFileType(name);
 				if (download) {
 					sb.append(" download=\"").append(StringHelper.escapeHtml(name)).append("\"");					
 				} else {