diff --git a/mo/web/user.py b/mo/web/user.py
index 9ff741ec58f382f02334e7d03de109eaa256e2b5..65cd3c86b75b9dd451e01d4c15c9d1302d99d99e 100644
--- a/mo/web/user.py
+++ b/mo/web/user.py
@@ -269,8 +269,8 @@ def get_contest_pion(id: int, require_reg: bool = True) -> Tuple[db.Contest, db.
     return contest, pion
 
 
-def get_contest(id: int) -> db.Contest:
-    contest, _ = get_contest_pion(id)
+def get_contest(id: int, require_reg: bool = True) -> db.Contest:
+    contest, _ = get_contest_pion(id, require_reg)
     return contest
 
 
@@ -313,7 +313,7 @@ def user_contest(id: int):
 @app.route('/user/contest/<int:id>/news')
 def user_contest_news(id: int):
     sess = db.get_session()
-    contest = get_contest(id)
+    contest = get_contest(id, require_reg=False)
 
     messages = sess.query(db.Message).filter_by(round_id=contest.round_id).order_by(db.Message.created_at).all()
 
@@ -328,7 +328,7 @@ def user_contest_news(id: int):
 
 @app.route('/user/contest/<int:id>/task-statement/zadani.pdf')
 def user_task_statement(id: int):
-    contest = get_contest(id)
+    contest = get_contest(id, require_reg=False)
 
     if not contest.ct_task_statement_available():
         logger.warn(f'Účastník #{g.user.user_id} chce zadání, na které nemá právo')