diff --git a/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx b/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx
index e6551df48..e0a622434 100644
--- a/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx
+++ b/services/app/apps/codebattle/assets/js/widgets/pages/tournament/PlayersPanel.jsx
@@ -27,7 +27,7 @@ const Players = ({
{playersCount === 0 ? (
diff --git a/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex b/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex
index 25ffdd14f..3d6c5707a 100644
--- a/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex
+++ b/services/app/apps/codebattle/lib/codebattle_web/channels/tournament_channel.ex
@@ -275,15 +275,17 @@ defmodule CodebattleWeb.TournamentChannel do
when type in ["swiss", "ladder", "stairway"] do
current_user = socket.assigns.current_user
- {matches, players} =
+ players =
+ Enum.uniq(
+ [Helpers.get_player(tournament, current_user.id)] ++
+ Helpers.get_top_players(tournament, 0, 30)
+ )
+
+ matches =
if Helpers.can_moderate?(tournament, current_user) do
- {Helpers.get_matches(tournament),
- [Helpers.get_player(tournament, current_user.id)] ++
- Helpers.get_paginated_players(tournament, 0, 30)}
+ Helpers.get_matches(tournament, Enum.map(players, & &1.id))
else
- {Helpers.get_matches_by_players(tournament, [current_user.id]),
- [Helpers.get_player(tournament, current_user.id)] ++
- Helpers.get_top_players(tournament)}
+ Helpers.get_matches_by_players(tournament, [current_user.id])
end
%{