diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py
index 62b61a397a82cf492d302cbd78268437d6b87cb0..930d1060aaacdeb904ca80f4943f7a4647bcafda 100644
--- a/mo/web/org_contest.py
+++ b/mo/web/org_contest.py
@@ -1268,10 +1268,12 @@ def org_contest_advance(contest_id: int):
 
         really_inserted = 0
         for pp in prev_pions:
+            # This incurs no real queries as we have all the contests cached
+            prev_place_id = sess.query(db.Contest).get(pp.contest_id).place_id
             if accept_uids and pp.user_id not in accept_uids:
-                reject_by_place_id[pp.place_id] += 1
+                reject_by_place_id[prev_place_id] += 1
                 continue
-            accept_by_place_id[pp.place_id] += 1
+            accept_by_place_id[prev_place_id] += 1
 
             if want_execute:
                 # ORM neumí ON CONFLICT DO NOTHING, takže musíme o vrstvu níže