diff --git a/CHANGELOG.md b/CHANGELOG.md
index 88ac0b5297a401ebcc3edda414cce13d3142d3fd..27382acd3b6ac4e94224186a6e89664470c20cad 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
   Script for moving files (change their path) in the internal file system based
   on a two-column tsv file (with columns "from" and "to"). See
   [README.md](misc/move_files/README.md).
+- LDAP server may now be given and may be different from LDAP domain. See
+  `misc/pam_authentication/ldap.conf`
 
 ### Changed
 
diff --git a/misc/pam_authentication/ldap.conf b/misc/pam_authentication/ldap.conf
index 117d1074915e3cacd9a97b83b5a2e83e3c50d451..664dd7c97524242fdb1ea7015bbc0e26c087b062 100644
--- a/misc/pam_authentication/ldap.conf
+++ b/misc/pam_authentication/ldap.conf
@@ -1,7 +1,8 @@
 # This file is sourced by the LDAP authentication script
 
-
-# Set the ldap server here.  This is also used to generate a fully qualified
-# user name: <USER>@$LDAP_SERVER
-
+# Set the ldap server here.
 # LDAP_SERVER="example.com"
+
+# Set the ldap domain here. This is used to generate a fully qualified
+# user name: <USER>@$LDAP_DOMAIN
+# LDAP_DOMAIN="example.com"
diff --git a/misc/pam_authentication/ldap_authentication.sh b/misc/pam_authentication/ldap_authentication.sh
index f887bf99f47c827fd712d2189a5ca89ec2981e6c..1b86b8e1783399e2c43b92981a43789accb21e7d 100755
--- a/misc/pam_authentication/ldap_authentication.sh
+++ b/misc/pam_authentication/ldap_authentication.sh
@@ -35,7 +35,7 @@ exe_dir=$(dirname $0)
 
 # If the second argument is empty or "-", take password from stdin, else use the argument as a file.
 testpw() {
-    username="${1}@${LDAP_SERVER}"
+    username="${1}@${LDAP_DOMAIN}"
     pwfile="$2"
     pwargs=("-w" "$pwfile")
     if [[ $pwfile == "-" ]] ; then
diff --git a/src/main/java/caosdb/server/resource/SharedFileResource.java b/src/main/java/caosdb/server/resource/SharedFileResource.java
index ffdce05baab5098d03080567ee815d286476f281..71cf089ddc4246196b8299502b1f15969183f372 100644
--- a/src/main/java/caosdb/server/resource/SharedFileResource.java
+++ b/src/main/java/caosdb/server/resource/SharedFileResource.java
@@ -71,7 +71,12 @@ public class SharedFileResource extends AbstractCaosDBServerResource {
 
     final MediaType mt = MediaType.valueOf(FileUtils.getMimeType(file));
     final FileRepresentation ret = new FileRepresentation(file, mt);
-    ret.setDisposition(new Disposition(Disposition.TYPE_ATTACHMENT));
+
+    // HTML files should be opened in the browser.
+    // Any other media type than HTML is attached for download.
+    if (!MediaType.TEXT_HTML.includes(mt)) {
+      ret.setDisposition(new Disposition(Disposition.TYPE_ATTACHMENT));
+    }
 
     return ret;
   }
diff --git a/src/main/java/caosdb/server/utils/ServerMessages.java b/src/main/java/caosdb/server/utils/ServerMessages.java
index 124962182a114f05f7bfabee377841412594a828..c2f3a302d270a3f16616c00b41ec9118862d4605 100644
--- a/src/main/java/caosdb/server/utils/ServerMessages.java
+++ b/src/main/java/caosdb/server/utils/ServerMessages.java
@@ -131,7 +131,7 @@ public class ServerMessages {
       new Message(
           MessageType.Error,
           0,
-          "Cannot parse value to boolean (either 'true' or 'false, ignoring case).");
+          "Cannot parse value to boolean (either 'true' or 'false', ignoring case).");
 
   public static final Message NOT_PERMITTED = new Message(MessageType.Error, 0, "Not permitted.");