diff --git a/lib/user.php b/lib/user.php
index 3a35069fd621b54db579e19185874eb1178e6bcb..6452f80602c72fe06ced86fc018e32120d5744c9 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -283,7 +283,9 @@ class OC_User {
 			$displayName = self::determineDisplayName($uid);
 			$result = true;
 		}
-		$_SESSION['display_name'] = $displayName;
+		if (OC_User::getUser() === $uid) {
+			$_SESSION['display_name'] = $displayName;
+		}
 		return $result;
 	}
 
diff --git a/settings/js/users.js b/settings/js/users.js
index a50fac037271f609e63a79bda0ec43e7031527f5..524a57e077606d2f423d17ce14f449637acbafbc 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -70,7 +70,9 @@ var UserList = {
     add:function (username, groups, subadmin, quota, sort) {
         var tr = $('tbody tr').first().clone();
         tr.attr('data-uid', username);
+        tr.attr('data-displayName', username);
         tr.find('td.name').text(username);
+        tr.find('td.displayName').text(username);
         var groupsSelect = $('<select multiple="multiple" class="groupsselect" data-placehoder="Groups" title="' + t('settings', 'Groups') + '"></select>').attr('data-username', username).attr('data-user-groups', groups);
         tr.find('td.groups').empty();
         if (tr.find('td.subadmins').length > 0) {