diff --git a/src/main/java/org/olat/core/commons/controllers/filechooser/FileCreatorController.java b/src/main/java/org/olat/core/commons/controllers/filechooser/FileCreatorController.java
index 06243f4dd02a8f5f123217fb586531748991ce4b..f44fe12e8723b4b491f81b8a3807b71f0bc916ab 100644
--- a/src/main/java/org/olat/core/commons/controllers/filechooser/FileCreatorController.java
+++ b/src/main/java/org/olat/core/commons/controllers/filechooser/FileCreatorController.java
@@ -220,7 +220,14 @@ public class FileCreatorController extends FormBasicController {
 				for (int i = 0; i < pathSegments.length; i++) {
 					String segment = pathSegments[i];
 					if (StringHelper.containsNonWhitespace(segment)) {
-						parentContainer = parentContainer.createChildContainer(segment);
+						VFSContainer newParentContainer = parentContainer.createChildContainer(segment.trim());
+						if (newParentContainer == null) {
+							// Huh? don't know what to do, use last folder level that could be created
+							logError("Could not create container with name::" + segment + " in relPath::" + uploadRelPath, null);
+							break;
+						} else {
+							parentContainer = newParentContainer;					
+						}
 					}
 				} 
 			} else {
diff --git a/src/main/java/org/olat/core/commons/controllers/filechooser/LinkFileCombiCalloutController.java b/src/main/java/org/olat/core/commons/controllers/filechooser/LinkFileCombiCalloutController.java
index 5ccc8920ad174532dbb7ff45ac1b258a31b639bd..8706feb813532e04eea89b636e0530183d6283cb 100644
--- a/src/main/java/org/olat/core/commons/controllers/filechooser/LinkFileCombiCalloutController.java
+++ b/src/main/java/org/olat/core/commons/controllers/filechooser/LinkFileCombiCalloutController.java
@@ -399,7 +399,7 @@ public class LinkFileCombiCalloutController extends BasicController {
 			} else {
 				editLink.setCustomDisplayText(translate("command.edit"));				
 			}
-			contentVC.put("editLink", editLink);
+			contentVC.put("command.edit", editLink);
 		} else {
 			contentVC.remove(editLink);
 		}
@@ -449,19 +449,15 @@ public class LinkFileCombiCalloutController extends BasicController {
 	}
 	
 	public boolean isEditorEnabled() {
-		if(relFilPathIsProposal){
-			return true;
-		}
-		
-		if(file != null){
-			String fileName = file.getName().toLowerCase();
-			if (fileName.endsWith(".html") || fileName.endsWith(".htm")) {
+		// enable html editor for html files
+		if(StringHelper.containsNonWhitespace(relFilePath)) {
+			String lowercase = relFilePath.toLowerCase().trim();
+			if (lowercase.endsWith(".html") || lowercase.endsWith(".htm")) {
 				return true;
-			} else {
-				return false;
 			}
 		}
-		return false;
+		// disable html editor for all other cases
+		return false;		
 	}
 
 	@Override
diff --git a/src/main/java/org/olat/core/commons/controllers/filechooser/_content/combiFileCallout.html b/src/main/java/org/olat/core/commons/controllers/filechooser/_content/combiFileCallout.html
index 0b0d9a701f3749f8e16a2b2db0b5a0a54655969c..a751c7b1c9a300bcbfc8a0dd8e69b7054219e463 100644
--- a/src/main/java/org/olat/core/commons/controllers/filechooser/_content/combiFileCallout.html
+++ b/src/main/java/org/olat/core/commons/controllers/filechooser/_content/combiFileCallout.html
@@ -21,8 +21,8 @@
 
 <div class="form-group">
 	<div class="col-sm-offset-3 col-sm-9">
-	#if ($r.available("editLink")) 
-		$r.render("editLink")
+	#if ($r.available("command.edit")) 
+		$r.render("command.edit")
 	#end
 		$r.render("calloutTriggerLink")
 	</div>
diff --git a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
index 1c73a756d987fb7a718a5cef427c6962a45ee61c..be54493f1083467f99eff5e203a2cffeee797935 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/FileUploadController.java
@@ -680,8 +680,8 @@ public class FileUploadController extends FormBasicController {
 	/**
 	 * Internal helper to finish the upload and add metadata
 	 */
-	private void finishSuccessfullUpload(String fileName, UserRequest ureq) {
-		VFSItem item = currentContainer.resolve(fileName);
+	private void finishSuccessfullUpload(String filePath, UserRequest ureq) {
+		VFSItem item = currentContainer.resolve(filePath);
 		if (item instanceof OlatRootFileImpl) {
 			OlatRootFileImpl relPathItem = (OlatRootFileImpl) item;
 			// create meta data
@@ -693,7 +693,7 @@ public class FileUploadController extends FormBasicController {
 			meta.clearThumbnails();//if overwrite an older file
 			meta.write();
 		}
-		ThreadLocalUserActivityLogger.log(FolderLoggingAction.FILE_UPLOADED, getClass(), CoreLoggingResourceable.wrapUploadFile(fileName));
+		ThreadLocalUserActivityLogger.log(FolderLoggingAction.FILE_UPLOADED, getClass(), CoreLoggingResourceable.wrapUploadFile(filePath));
 
 		// Notify listeners about upload
 		fireEvent(ureq, new FolderEvent(FolderEvent.UPLOAD_EVENT, item));
@@ -786,7 +786,14 @@ public class FileUploadController extends FormBasicController {
 					for (int i = 0; i < pathSegments.length; i++) {
 						String segment = pathSegments[i];
 						if (StringHelper.containsNonWhitespace(segment)) {
-							uploadVFSContainer = uploadVFSContainer.createChildContainer(segment);
+							VFSContainer newUploadContainer = uploadVFSContainer.createChildContainer(segment.trim());
+							if (newUploadContainer == null) {
+								// Huh? don't know what to do, use last folder level that could be created
+								logError("Could not create container with name::" + segment + " in relPath::" + uploadRelPath, null);
+								break;
+							} else {
+								uploadVFSContainer = newUploadContainer;					
+							}
 						}
 					}
 				}