diff --git a/ligoauth/management/commands/refresh_users_from_ldap.py b/ligoauth/management/commands/refresh_users_from_ldap.py
index 476c46b3da00e4555c2f3ed96ec7f1d6d3982a4b..5a115eee078107b63a5edcdc245818890030ba7d 100644
--- a/ligoauth/management/commands/refresh_users_from_ldap.py
+++ b/ligoauth/management/commands/refresh_users_from_ldap.py
@@ -57,7 +57,10 @@ class Command(NoArgsCommand):
                             # revoke staff/superuser if not active.
                             user.is_staff = user.is_staff and is_active
                             user.is_superuser = user.is_superuser and is_active
-                            user.save()
+                            try:
+                                user.save()
+                            except Exception, e:
+                                print "Failed to save user '%s'.  (%s)" % (ldap_dn, first_name+" "+last_name)
 
                         # update X509 certs for user
                         current_dns = set([ cert.subject for cert in user.x509cert_set.all() ])