diff --git a/mo/users.py b/mo/users.py
index 96bc328b51bfbe0b9957584f88458e7d537f6c00..e71d9724eabda491c235cf893c0c964e8794d221 100644
--- a/mo/users.py
+++ b/mo/users.py
@@ -146,6 +146,7 @@ def find_or_create_participant(user: db.User, year: int, school_id: Optional[int
             raise mo.CheckError('Osoba s daným e-mailem zatím není zaregistrovaná do ročníku, je nutné uvést ročník.')
         part = db.Participant(user=user, year=year, school=school_id, birth_year=birth_year, grade=grade)
         sess.add(part)
+        sess.flush()    # Kvůli logování
         logger.info(f'{reason.title()}: Založen účastník #{user.user_id}')
         mo.util.log(
             type=db.LogType.participant,
@@ -174,6 +175,7 @@ def find_or_create_participation(user: db.User, contest: db.Contest, place: Opti
     if is_new:
         pion = db.Participation(user=user, contest=contest, place_id=place.place_id, state=db.PartState.active)
         sess.add(pion)
+        sess.flush()    # Kvůli logování
         logger.info(f'{reason.title()}: Založena účast user=#{user.user_id} contest=#{contest.contest_id} place=#{place.place_id}')
         mo.util.log(
             type=db.LogType.participant,
diff --git a/mo/web/user.py b/mo/web/user.py
index ee2a348ceb7dd05888a7ed8c11f90fb80e311a53..cc30786a34d495153151611256bbfbdb1bb268b7 100644
--- a/mo/web/user.py
+++ b/mo/web/user.py
@@ -221,6 +221,7 @@ def join_create_pion(c: db.Contest) -> None:
         state = db.PartState.registered
     p = db.Participation(user=g.user, contest=c, place=c.place, state=state)
     sess.add(p)
+    sess.flush()   # Kvůli logování
 
     logger.info(f'Join: Účastník #{g.user.user_id} přihlášen do soutěže #{c.contest_id}')
     mo.util.log(