diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java
index 1f9de4902b777e242b8e140f977f8d8a52f32aa7..b75d745d2975fd34fc283d2c123728c78907e0c4 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFactory.java
@@ -36,7 +36,7 @@ public class MetaInfoFactory {
 	 * @param metaInfo
 	 */
 	private MetaInfoFactory(MetaInfo metaInfo) {
-		this.metaInfo = metaInfo;
+		MetaInfoFactory.metaInfo = metaInfo;
 	}
 
 	public static MetaInfo createMetaInfoFor(OlatRelPathImpl path) {
diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java
index c83e5d28c0eaf29fd60fb8082ab32d8e92e719de..6fb8adc2f9a3ca270c500dbd3055b1635bfa6481 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java
@@ -246,7 +246,7 @@ public class MetaInfoFormController extends FormBasicController {
 
 		if (!isSubform) {
 
-			if(!meta.isDirectory()) {
+			if(meta != null && !meta.isDirectory()) {
 				Long lockedById = meta.getLockedBy();
 				//locked
 				String lockedTitle = getTranslator().translate("mf.locked");
@@ -277,21 +277,24 @@ public class MetaInfoFormController extends FormBasicController {
 			}
 			
 			// username
-			uifactory.addStaticTextElement("mf.author", meta.getHTMLFormattedAuthor(), formLayout);
+			String author = meta == null ? "" : meta.getHTMLFormattedAuthor();
+			uifactory.addStaticTextElement("mf.author", author, formLayout);
 
 			// filesize
 			uifactory.addStaticTextElement("mf.size", sizeText, formLayout);
 
 			// last modified date
-			uifactory.addStaticTextElement("mf.lastModified", StringHelper.formatLocaleDate(meta.getLastModified(), getLocale()), formLayout);
+			String lastModified = meta == null ? "" : StringHelper.formatLocaleDate(meta.getLastModified(), getLocale());
+			uifactory.addStaticTextElement("mf.lastModified", lastModified, formLayout);
 
 			// file type
 			uifactory.addStaticTextElement("mf.type", typeText, formLayout);
 
-			uifactory.addStaticTextElement("mf.downloads", String.valueOf(meta.getDownloadCount()), formLayout);
+			String downloads = meta == null ? "" : String.valueOf(meta.getDownloadCount());
+			uifactory.addStaticTextElement("mf.downloads", downloads, formLayout);
 		}
 
-		if (!isSubform && meta.isDirectory()) {
+		if (!isSubform && meta != null && meta.isDirectory()) {
 			// Don't show any meta data except title and comment if the item is
 			// a directory.
 			// Hide the metadata.
@@ -303,7 +306,9 @@ public class MetaInfoFormController extends FormBasicController {
 		if (!isSubform) {
 			final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator());
 			formLayout.add(buttonLayout);
-			uifactory.addFormSubmitButton("submit", buttonLayout);
+			if(meta != null) {
+				uifactory.addFormSubmitButton("submit", buttonLayout);
+			}
 			uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
 		}
 	}