diff --git a/deps/ldapalchemy b/deps/ldapalchemy
index 40ee661e418dd7866b9dc539fa6544cb12f9cd70..7a232d305fda3e261b6f8d3c0958a16f4c2e8d8b 160000
--- a/deps/ldapalchemy
+++ b/deps/ldapalchemy
@@ -1 +1 @@
-Subproject commit 40ee661e418dd7866b9dc539fa6544cb12f9cd70
+Subproject commit 7a232d305fda3e261b6f8d3c0958a16f4c2e8d8b
diff --git a/uffd/user/views_user.py b/uffd/user/views_user.py
index 78ad85c26074927d79dda1fbb123f0f972125690..16060b8255cef2221643d8e59fb144c89813fc77 100644
--- a/uffd/user/views_user.py
+++ b/uffd/user/views_user.py
@@ -46,11 +46,11 @@ def update(uid=None):
 			return redirect(url_for('user.show'))
 	else:
 		user = User.query.filter_by(uid=uid).first_or_404()
-	if not user.set_mail(request.form['mail']):
+	if user.mail != request.form['mail'] and not user.set_mail(request.form['mail']):
 		flash('Mail is invalid')
 		return redirect(url_for('user.show', uid=uid))
 	new_displayname = request.form['displayname'] if request.form['displayname'] else request.form['loginname']
-	if not user.set_displayname(new_displayname):
+	if user.displayname != new_displayname and not user.set_displayname(new_displayname):
 		flash('Display name does not meet requirements')
 		return redirect(url_for('user.show', uid=uid))
 	new_password = request.form.get('password')