diff --git a/abilian/web/frontend.py b/abilian/web/frontend.py
index <HASH>..<HASH> 100644
--- a/abilian/web/frontend.py
+++ b/abilian/web/frontend.py
@@ -498,8 +498,9 @@ class Module(object):
       return redirect("%s/%d" % (self.url, entity_id))
     elif form.validate():
       form.populate_obj(entity)
-      activity.send(self, actor=g.user, verb="update", object=entity)
       try:
+        db.session.flush()
+        activity.send(self, actor=g.user, verb="update", object=entity)
         db.session.commit()
         flash(_(u"Entity successfully edited"), "success")
         return redirect("%s/%d" % (self.url, entity_id))
entity edit: send flush before sending activity, like it's done in entity_new

edit on an object is complete only after flush events handlers (if any) have been called.