diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py
index 9bc9872af04d2c06b787330f3396924d222764b0..71fce79775fc997234e8dbbe431fe4589fc31a8f 100644
--- a/mo/web/org_contest.py
+++ b/mo/web/org_contest.py
@@ -422,7 +422,7 @@ def org_contest_list(id: int, site_id: Optional[int] = None):
     filter = ParticipantsFilterForm(request.args)
     filter.validate()
     query = get_contestants_query(
-        round=contest.round, contest=contest,
+        round=contest.round, contest=contest, site=site,
         school=filter.f_school,
         # contest_place=filter.f_contest_place,
         participation_place=filter.f_participation_place,
@@ -467,6 +467,7 @@ contest_list_columns = (
 
 def get_contestants_query(
         round: db.Round, contest: Optional[db.Contest] = None,
+        site: Optional[db.Place] = None,
         contest_place: Optional[db.Place] = None,
         participation_place: Optional[db.Place] = None,
         participation_state: Optional[db.PartState] = None,
@@ -483,6 +484,8 @@ def get_contestants_query(
         query = query.filter(db.Contest.round == round)
         query = query.options(joinedload(db.Contest.place))
     query = query.filter(db.Participation.contest_id == db.Contest.contest_id)
+    if site:
+        query = query.filter(db.Participation.place_id == site.place_id)
     if contest_place:
         query = query.filter(db.Contest.place_id == contest_place.place_id)
     if participation_place: