diff --git a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
index f5771783eca625243b1bbbfaa5cf8ed60b305354..c181fbb8cfbc10e03a1ae6b41baed62eef51cb1d 100644
--- a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
+++ b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
@@ -53,13 +53,10 @@ public class UserProfileService {
     public UserProfile[] getUserProfile(String queryString, String field) {
         Endpoint endpoint = ADConnector.getConnection();
         UserProfile[] profiles = null;
-        if (!queryString.startsWith("*")) {
-            queryString = queryString.concat("*");
-        }
         try {
             QueryRequest queryRequest = buildRequest(endpoint);
             Sentence sentence = null;
-            if (queryString.contains("*")) {
+            if (queryString.equals("*")) {
                 sentence = new QueryAssembler().addPhrase(FieldType.OBJECT_CLASS, PhraseOperator.EQUAL, ObjectType.USER.toString()).closeSentence();
             } else {
                 if (field.equals("LOGON_NAME")) {
@@ -86,6 +83,7 @@ public class UserProfileService {
             for (int i = 0; i < profiles.length; i++) {
                 profiles[i] = profileFromResponse(results.get(i));
             }
+            profiles = removeNull(profiles);
             return profiles;
         } catch (Exception e) {
             log.error("Could not find entity with specified parameters.");
@@ -95,6 +93,14 @@ public class UserProfileService {
         }
     }
 
+    public UserProfile[] removeNull(UserProfile[] a) {
+        ArrayList<UserProfile> removedNull = new ArrayList<UserProfile>();
+        for (UserProfile p : a)
+            if (p != null)
+                removedNull.add(p);
+        return removedNull.toArray(new UserProfile[0]);
+    }
+
     public static QueryRequest buildRequest(Endpoint endpoint) {
         QueryRequest queryRequest = new QueryRequest();
         queryRequest.setDirectoryType(DirectoryType.MS_ACTIVE_DIRECTORY);
diff --git a/jams-server/src/main/resources/webapp/js/identity-management.js b/jams-server/src/main/resources/webapp/js/identity-management.js
index c16fccae6cbe510ce3976b23d9af40a1bcbe54e5..d1bf54dd8216d58d463f36355163f351a3218d14 100644
--- a/jams-server/src/main/resources/webapp/js/identity-management.js
+++ b/jams-server/src/main/resources/webapp/js/identity-management.js
@@ -62,7 +62,7 @@ function setLDAPParametersData(form) {
           settings[field.name] = field.value;
   });
   settings['fieldMappings'] = {};
-  settings['fieldMappings']['uid'] = "Username"
+  settings['fieldMappings']['uid'] = "Username";
   settings['fieldMappings']['givenName'] = "FirstName";
   settings['fieldMappings']['sn'] = "LastName";
   settings['fieldMappings']['jpegPhoto'] = "ProfilePicture";
@@ -72,13 +72,11 @@ function setLDAPParametersData(form) {
   settings['fieldMappings']['facsimileTelephoneNumber'] = "FaxNumber";
   settings['fieldMappings']['extensionName'] = "PhoneNumberExtension";
   settings['fieldMappings']['o'] = "Organization";
-  settings['fieldMappings']['uid'] = "Username";
 
   authSource['type'] = 'LDAP';
   authSource['ldapSettings'] = settings;
-  var data = authSource;
   // post request
-    postParameters(data);
+  ajaxApiCall(api_path_post_install_auth,'POST',authSource,null, handleAuthInstall);
 }
 
 function setADParametersData(form) {
@@ -94,31 +92,30 @@ function setADParametersData(form) {
     });
 
     settings['fieldMappings'] = {};
-    settings['fieldMappings']['sAMAccountName'] = "Username"
-    settings['fieldMappings']['givenName'] = "FirstName";
+    settings['fieldMappings']['samaccountname'] = "Username";
+    settings['fieldMappings']['givenname'] = "FirstName";
     settings['fieldMappings']['sn'] = "LastName";
-    settings['fieldMappings']['jpegPhoto'] = "ProfilePicture";
+    settings['fieldMappings']['thumbnailphoto'] = "ProfilePicture";
     settings['fieldMappings']['mail'] = "Email";
-    settings['fieldMappings']['telephoneNumber'] = "PhoneNumber";
+    settings['fieldMappings']['telephonenumber'] = "PhoneNumber";
     settings['fieldMappings']['mobile'] = "MobileNumber";
-    settings['fieldMappings']['facsimileTelephoneNumber'] = "FaxNumber";
-    settings['fieldMappings']['extensionName'] = "PhoneNumberExtension";
+    settings['fieldMappings']['facsimiletelephonenumber'] = "FaxNumber";
+    settings['fieldMappings']['extensionname'] = "PhoneNumberExtension";
     settings['fieldMappings']['o'] = "Organization";
-    settings['fieldMappings']['uid'] = "Username";
 
     authSource['type'] = 'AD';
     authSource['activeDirectorySettings'] = settings;
-    var data = authSource;
     // post request
-    postParameters(data);
+    ajaxApiCall(api_path_post_install_auth,'POST',authSource,null, handleAuthInstall);
 }
 
-// send post request
-function postParameters(data) {
-  usePublicNS = $('#publicNS')[0].checked;
-  var callback = set_installation_response("server-parameters.html" + "?usePublicNS=" + usePublicNS);
-
-  ajaxApiCall(api_path_post_install_auth,'POST',data,null,callback);
+function handleAuthInstall(data) {
+    if (data.status == 500 || data.status == 405)
+        $('#badAuthModalCenter').modal('show');
+    else {
+        usePublicNS = $('#publicNS')[0].checked;
+        window.location.replace("server-parameters.html" + "?usePublicNS=" + usePublicNS);
+    }
 }
 
 // show tooltip
diff --git a/jams-server/src/main/resources/webapp/js/search.js b/jams-server/src/main/resources/webapp/js/search.js
index 677ff79c5e1cadd224163652b6567b14c90b2ba0..8a3c9692dc3b42959da88d037f4c773874d82df5 100644
--- a/jams-server/src/main/resources/webapp/js/search.js
+++ b/jams-server/src/main/resources/webapp/js/search.js
@@ -132,10 +132,11 @@ function listAllUsers(data, statusCode, jqXHR)
                 '<tr class="user-data bubble"><td data-href="aa" class="mobile">Username</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '">' + resultSet[i].username +
                 '</td><td class="mobile">First Name</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '">' + firstName + '' +
                 '</td><td class="mobile">Last Name</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '">' + lastName +
-                '</td><td class="mobile">Devices</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) +'"><i class="fa fa-mobile"></i></td><td class="spacer--table">spacer</td>' +
+                '</td><td class="mobile">Devices</td><td style="cursor:pointer;" data-href="user.html?username=' + encodeURIComponent(resultSet[i].username) + '"><i class="fa fa-mobile"></i></td><td class="spacer--table">spacer</td>' +
                 '<td class="mobile">Actions</td><td class="user-information-search"><button class="edit-user" title="Edit User" style="display: none;" user-id="' + encodeURIComponent(resultSet[i].username) + '"><i class="fa fa-edit"></i></button>' +
                 '<button type="button" id="de-authorize-user" class="btn-danger de-authorize-user" title="Revoke User" user-id="' + encodeURIComponent(resultSet[i].username) + '"' + '><i class="fa fa-trash"></i></button>' +
                 '</td><td class="spacer--table">spacer</td></tr>'
+
         }
 
         $('.empty-results').remove();
diff --git a/jams-server/src/main/resources/webapp/js/user.js b/jams-server/src/main/resources/webapp/js/user.js
index 415ec196aff6ef59a1e4bbcf4da3bd9a20b0c5b9..d9ed7fc1293ef4f1444aa2e7c7bf9e62ff2b8d72 100644
--- a/jams-server/src/main/resources/webapp/js/user.js
+++ b/jams-server/src/main/resources/webapp/js/user.js
@@ -187,7 +187,7 @@ function setUserInfoDataSource(data, statusCode, jqXHR) {
         var disabled = '';
         if (resultSet.length > 0) {
             // build table row for User item
-            for (i = 0; i < resultSet.length; i++) {
+            for (i = 0; i < 1; i++) {
 
                 // determine User status
                 if (userStatus == "Revoked") {
diff --git a/jams-server/src/main/resources/webapp/templates/footer.html b/jams-server/src/main/resources/webapp/templates/footer.html
index cab3568eacaa94dc370e85380f84c54bca2f4446..a7cd5b27ae172c37626692459b55cc3f563c7614 100644
--- a/jams-server/src/main/resources/webapp/templates/footer.html
+++ b/jams-server/src/main/resources/webapp/templates/footer.html
@@ -289,4 +289,20 @@
             </div>
         </div>
     </div>
+</div>
+
+<div id="badAuthModalCenter" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="badAuthModalLongTitle">
+<div class="modal-dialog modal-dialog-centered" role="document">
+    <div class="modal-content">
+        <div class="modal-header">
+            <h5 class="modal-title" id="badAuthModalLongTitle">CA Error</h5>
+        </div>
+        <div class="ca-modal-body">
+            The supplied configuration is invalid or the connectivity tests has failed.
+        </div>
+        <div class="modal-footer">
+            <button data-dismiss="modal" class="btn btn-outline-primary btn-link" type="button">OK</button>
+        </div>
+    </div>
+</div>
 </div>
\ No newline at end of file