diff --git a/app/views/user/list.scala.html b/app/views/user/list.scala.html
index 8a4164536d..aa1786e46f 100644
--- a/app/views/user/list.scala.html
+++ b/app/views/user/list.scala.html
@@ -86,6 +86,7 @@ withInfScroll = false) {
@userTopPerf(leaderboards.threeCheck, PerfType.ThreeCheck)
@userTopPerf(leaderboards.antichess, PerfType.Antichess)
+ @userTopPerf(leaderboards.ultraBullet, PerfType.UltraBullet)
@userTopPerf(leaderboards.kingOfTheHill, PerfType.KingOfTheHill)
@userTopPerf(leaderboards.horde, PerfType.Horde)
diff --git a/modules/user/src/main/Cached.scala b/modules/user/src/main/Cached.scala
index 1b6a09cb57..b36eb3fdaa 100644
--- a/modules/user/src/main/Cached.scala
+++ b/modules/user/src/main/Cached.scala
@@ -27,6 +27,7 @@ final class Cached(
private implicit val LightCountBSONHandler = Macros.handler[LightCount]
def leaderboards: Fu[Perfs.Leaderboards] = for {
+ ultraBullet ← top10Perf(PerfType.UltraBullet.id)
bullet ← top10Perf(PerfType.Bullet.id)
blitz ← top10Perf(PerfType.Blitz.id)
classical ← top10Perf(PerfType.Classical.id)
@@ -39,6 +40,7 @@ final class Cached(
racingKings <- top10Perf(PerfType.RacingKings.id)
crazyhouse <- top10Perf(PerfType.Crazyhouse.id)
} yield Perfs.Leaderboards(
+ ultraBullet = ultraBullet,
bullet = bullet,
blitz = blitz,
classical = classical,
diff --git a/modules/user/src/main/Perfs.scala b/modules/user/src/main/Perfs.scala
index 2ea91f1b87..c814064459 100644
--- a/modules/user/src/main/Perfs.scala
+++ b/modules/user/src/main/Perfs.scala
@@ -234,6 +234,7 @@ case object Perfs {
}
case class Leaderboards(
+ ultraBullet: List[User.LightPerf],
bullet: List[User.LightPerf],
blitz: List[User.LightPerf],
classical: List[User.LightPerf],