diff --git a/mo/db.py b/mo/db.py
index ea9218072bcfc878526ac4bf05792a95ead86016..0dc0b644b71ebac8d665af55c481d2ad04779cb8 100644
--- a/mo/db.py
+++ b/mo/db.py
@@ -237,9 +237,12 @@ class PartState(MOEnum):
     def choices(enum):
         out = []
         for item in enum:
-            out.append((item.name, part_state_names[item]))
+            out.append((item.name, item.friendly_name()))
         return out
 
+    def friendly_name(self) -> str:
+        return part_state_names[self]
+
 
 part_state_names = {
     PartState.registered: 'registrovaný',
@@ -250,7 +253,6 @@ part_state_names = {
 }
 
 
-
 class Participation(Base):
     __tablename__ = 'participations'
 
@@ -285,6 +287,9 @@ class RoleType(MOEnum):
     dozor = auto()
     opravovatel = auto()
 
+    def friendly_name(self) -> str:
+        return role_type_names[self]
+
 
 role_type_names = {
     RoleType.garant: 'celostátní garant',
@@ -294,6 +299,7 @@ role_type_names = {
     RoleType.opravovatel: 'opravovatel',
 }
 
+
 class UserRole(Base):
     __tablename__ = 'user_roles'
 
@@ -312,7 +318,7 @@ class UserRole(Base):
     place = relationship('Place')
 
     def __str__(self):
-        parts = [role_type_names[self.role]]
+        parts = [self.role.friendly_name()]
         if self.seq:
             parts.append(f"{self.seq}. kola")
         if self.year:
diff --git a/mo/rights.py b/mo/rights.py
index 3304c72c145a8da2824f884fae31a902774714da..384b94d573b253887101d73cc9f9d7496eb2f0a6 100644
--- a/mo/rights.py
+++ b/mo/rights.py
@@ -3,7 +3,6 @@
 from enum import Enum, auto
 from dataclasses import dataclass
 from typing import Set, List, Dict, Optional
-import sqlalchemy.orm as orm
 
 import mo.db as db
 
@@ -28,6 +27,11 @@ class Role:
     name: str
     rights: Set[Right]
 
+    def __init__(self, role: db.RoleType, rights: Set[Right]):
+        self.role = role
+        self.name = role.friendly_name()
+        self.rights = rights
+
 
 # Order in this list represents hierarchy for assign_rights right
 # (garant could assign role of garant or garant_kraj, but garant_kraj cannot
@@ -35,7 +39,6 @@ class Role:
 roles: List[Role] = [
     Role(
         role=db.RoleType.garant,
-        name=db.role_type_names[db.RoleType.garant],
         rights={
             Right.assign_rights,
             Right.edit_place,
@@ -48,7 +51,6 @@ roles: List[Role] = [
     ),
     Role(
         role=db.RoleType.garant_kraj,
-        name=db.role_type_names[db.RoleType.garant_kraj],
         rights={
             Right.assign_rights,
             Right.edit_place,
@@ -61,7 +63,6 @@ roles: List[Role] = [
     ),
     Role(
         role=db.RoleType.garant_okres,
-        name=db.role_type_names[db.RoleType.garant_okres],
         rights={
             Right.assign_rights,
             Right.edit_place,
@@ -72,7 +73,6 @@ roles: List[Role] = [
     ),
     Role(
         role=db.RoleType.dozor,
-        name=db.role_type_names[db.RoleType.dozor],
         rights={
             Right.upload_solutions,
             Right.add_users,
@@ -80,7 +80,6 @@ roles: List[Role] = [
     ),
     Role(
         role=db.RoleType.opravovatel,
-        name=db.role_type_names[db.RoleType.opravovatel],
         rights={
             Right.upload_feedback,
             Right.edit_points,
diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py
index 508c63d5d3887a5af352613514d3cebf62831e94..0df2acea18ea1a59b8312d88fbf3102079a5f03f 100644
--- a/mo/web/org_contest.py
+++ b/mo/web/org_contest.py
@@ -267,7 +267,7 @@ def make_contestant_table(round: db.Round, contest: Optional[db.Contest]) -> Tab
             'born_year': pant.birth_year,
             'region_code': cell_place_link(ct.place, ct.place.get_code()),
             'place_code': cell_place_link(pion.place, pion.place.get_code()),
-            'status': pion.state.name,
+            'status': pion.state.friendly_name(),
         })
 
     rows.sort(key=lambda r: r['sort_key'])
diff --git a/mo/web/templates/org_user.html b/mo/web/templates/org_user.html
index ae19ee0e826d0df0f674b4590a8d1b769c5fc71f..de9ecb7e04cdb6820da7ef782a093451eef7f6d6 100644
--- a/mo/web/templates/org_user.html
+++ b/mo/web/templates/org_user.html
@@ -57,7 +57,7 @@
 				<br>(ale soutěží v <a href="{{ url_for('org_place', id=round.place_id) }}">{{ round.place.name }}</a>)
 			{% endif %}
 		</td>
-		<td>{{ round.state.name }}</td>
+		<td>{{ round.state.friendly_name() }}</td>
 	</tr>
 {% endfor %}
 </table>