diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py
index e3de4f555b02a7873fe5b0f0baa66c2459c49f11..956626ce63f5b703f3c86e580da500478f9d5516 100644
--- a/mo/web/org_contest.py
+++ b/mo/web/org_contest.py
@@ -353,6 +353,7 @@ def org_contest(id: int, site_id: Optional[int] = None):
         can_manage=rr.have_right(Right.manage_contest),
         can_upload=rr.can_upload_feedback(round),
         can_edit_points=rr.can_edit_points(round),
+        can_create_solutions=rr.can_upload_feedback(round) or rr.can_upload_solutions(round),
         can_view_statement=rr.can_view_statement(round),
         tasks=tasks, places_counts=places_counts,
     )
@@ -556,6 +557,7 @@ class SolutionContext:
     allow_view: bool
     allow_upload_solutions: bool
     allow_upload_feedback: bool
+    allow_create_solutions: bool
     allow_edit_points: bool
 
 
@@ -608,6 +610,8 @@ def get_solution_context(contest_id: int, user_id: Optional[int], task_id: Optio
     if not allow_view:
         raise werkzeug.exceptions.Forbidden()
 
+    allow_upload_solutions = rr.can_upload_solutions(round)
+    allow_upload_feedback = rr.can_upload_feedback(round)
     return SolutionContext(
         contest=contest,
         round=round,
@@ -617,8 +621,9 @@ def get_solution_context(contest_id: int, user_id: Optional[int], task_id: Optio
         site=site,
         # XXX: Potřebujeme tohle všechno? Nechceme spíš vracet rr a nechat každého, ať na něm volá metody?
         allow_view=allow_view,
-        allow_upload_solutions=rr.can_upload_solutions(round),
-        allow_upload_feedback=rr.can_upload_feedback(round),
+        allow_upload_solutions=allow_upload_solutions,
+        allow_upload_feedback=allow_upload_feedback,
+        allow_create_solutions=allow_upload_solutions or allow_upload_feedback,
         allow_edit_points=rr.can_edit_points(round),
     )
 
@@ -1024,8 +1029,6 @@ def org_contest_solutions(id: int, site_id: Optional[int] = None):
         'org_contest_solutions.html',
         contest=sc.contest, site=sc.site, sc=sc,
         pions=pions, tasks=tasks, tasks_sols=task_sols, paper_counts=paper_counts,
-        can_upload=sc.allow_upload_feedback,
-        can_edit_points=sc.allow_edit_points,
         paper_link=lambda u, p: mo.web.util.org_paper_link(sc.contest, sc.site, u, p),
     )
 
diff --git a/mo/web/templates/org_contest_solutions.html b/mo/web/templates/org_contest_solutions.html
index 670a5472bd17e63d0190d69496123423fbff6614..dc718baef49b73b11b85b738b467e44d3b68b1e7 100644
--- a/mo/web/templates/org_contest_solutions.html
+++ b/mo/web/templates/org_contest_solutions.html
@@ -36,7 +36,7 @@ konkrétní úlohu. Symbol <span class="icon">🗐</span> značí, že existuje
 			<th rowspan=2>Stav účasti</th>
 			{% for task in tasks %}<th colspan=4>
 				<a href="{{ url_for('org_contest_task', contest_id=contest.contest_id, site_id=site_id, task_id=task.task_id) }}">{{ task.code }}</a>
-				{% if can_edit_points %}
+				{% if sc.allow_edit_points %}
 				<a title="Editovat body" href="{{ url_for('org_contest_task_points', contest_id=contest.contest_id, task_id=task.task_id) }}" class="icon pull-right">✎</a>
 				{% endif %}
 			{% endfor %}
@@ -100,7 +100,7 @@ konkrétní úlohu. Symbol <span class="icon">🗐</span> značí, že existuje
 		{% for task in tasks %}
 			<td colspan=4><div class='btn-group'>
 				<a class='btn btn-xs btn-primary' href="{{ url_for('org_contest_task_download', contest_id=contest.contest_id, site_id=site_id, task_id=task.task_id) }}">Stáhnout</a>
-			{% if can_upload %}
+			{% if sc.allow_upload_feedback %}
 				<a class='btn btn-xs btn-primary' href="{{ url_for('org_contest_task_upload', contest_id=contest.contest_id, site_id=site_id, task_id=task.task_id) }}">Nahrát</a>
 			{% endif %}
 				</div>
diff --git a/mo/web/templates/org_contest_task.html b/mo/web/templates/org_contest_task.html
index 224fd89eb4395db03ab1635dbcb9e16c11ec0ced..ec03f0d41d6f0dad54bc088430567647fcaf5ec1 100644
--- a/mo/web/templates/org_contest_task.html
+++ b/mo/web/templates/org_contest_task.html
@@ -39,7 +39,7 @@
 {% else %}
 <div class='btn-group'>
 	<a class='btn btn-primary' href="{{ url_for('org_contest_task_download', contest_id=ct_id, site_id=site_id, task_id=task.task_id) }}">Stáhnout řešení</a>
-	{% if can_upload %}
+	{% if sc.allow_upload_feedback %}
 	<a class='btn btn-primary' href="{{ url_for('org_contest_task_upload', contest_id=ct_id, site_id=site_id, task_id=task.task_id) }}">Nahrát opravená řešení</a>
 	{% endif %}
 	{% if not site and sc.allow_edit_points %}