diff --git a/app/admin/views.py b/app/admin/views.py
index 5839cabaf6b370e486a981ddd2e63952f45fe1c6..e954918cbd0058b20080ef8c0d3456a1f86bfd9b 100644
--- a/app/admin/views.py
+++ b/app/admin/views.py
@@ -14,6 +14,7 @@ from flask_admin.contrib import sqla
 from flask_admin.model.form import converts
 from flask_login import current_user
 from ..validators import IPNetwork, ICS_ID_RE
+from .. import models
 
 
 # Monkey patch flask-admin Unique validator to disable it
@@ -47,6 +48,16 @@ class AdminModelView(sqla.ModelView):
     def is_accessible(self):
         return current_user.is_authenticated and current_user.is_admin
 
+    def update_model(self, form, model):
+        # Remove the current user object added by flask-admin from the session
+        # Adding the current_user object later raises an exception otherwise:
+        # sqlalchemy.exc.InvalidRequestError: Can't attach instance <User at 0x7f6f0e39ce10>;
+        # another instance with key (<class 'app.models.User'>, (1,), None) is already present in this session.
+        for obj in self.session:
+            if isinstance(obj, models.User) and obj.id == current_user.id:
+                self.session.expunge(obj)
+        return super().update_model(form, model)
+
 
 class UserAdmin(AdminModelView):
     can_create = False