diff --git a/mo/web/org_contest.py b/mo/web/org_contest.py
index 172f96842a5b11c4344ddd8f6ddf36de817af959..bae547ee81e02a23c899ab833506e2f526dc90d7 100644
--- a/mo/web/org_contest.py
+++ b/mo/web/org_contest.py
@@ -634,7 +634,7 @@ class SubmitForm(FlaskForm):
 class SetFinalForm(FlaskForm):
     type = wtforms.StringField()
     paper_id = wtforms.IntegerField()
-    submit = wtforms.SubmitField("Prohlásit za finální")
+    submit_final = wtforms.SubmitField("Prohlásit za finální")
 
 
 @app.route('/org/contest/c/<int:contest_id>/submit/<int:user_id>/<int:task_id>/', methods=('GET', 'POST'))
@@ -651,6 +651,53 @@ def org_submit_list(contest_id: int, user_id: int, task_id: int, site_id: Option
            .filter_by(user_id=user_id, task_id=task_id)
            .one_or_none())
 
+    set_final_form: Optional[SetFinalForm] = None
+    if sol and sc.allow_upload_feedback:
+        set_final_form = SetFinalForm()
+        if set_final_form.validate_on_submit() and set_final_form.submit_final.data:
+            is_submit = set_final_form.type.data == "submit"
+            is_feedback = set_final_form.type.data == "feedback"
+            paper = sess.query(db.Paper).get(set_final_form.paper_id.data)
+            if not paper:
+                flash('Chyba: Papír s takovým ID neexistuje', 'danger')
+            elif paper.for_user != user_id or paper.for_task != task_id:
+                flash('Chyba: Papír nepatří k dané úloze a uživateli', 'danger')
+            elif (is_submit and sol.final_submit_obj == paper) or (is_feedback and sol.final_feedback_obj == paper):
+                flash('Žádná změna', 'warning')
+            elif is_submit:
+                app.logger.info(f"Finální submit úlohy {task_id} pro uživatele {user_id} změněn na {paper.paper_id}")
+                mo.util.log(
+                    type=db.LogType.participant,
+                    what=user_id,
+                    details={
+                        'action': 'task-final-submit-changed',
+                        'task': task_id,
+                        'old_paper': sol.final_submit,
+                        'new_paper': paper.paper_id
+                    },
+                )
+                sol.final_submit = paper.paper_id
+                sess.commit()
+                flash('Finální řešení změněno', 'success')
+            elif is_feedback:
+                app.logger.info(f"Finální feedback úlohy {task_id} pro uživatele {user_id} změněn na {paper.paper_id}")
+                mo.util.log(
+                    type=db.LogType.participant,
+                    what=user_id,
+                    details={
+                        'action': 'task-final-feedback-changed',
+                        'task': task_id,
+                        'old_paper': sol.final_feedback,
+                        'new_paper': paper.paper_id
+                    },
+                )
+                sol.final_feedback = paper.paper_id
+                sess.commit()
+                flash('Finální oprava změněna', 'success')
+            else:
+                flash('Chyba: Neplatná akce', 'danger')
+            return redirect(self_url)
+
     form = SubmitForm(obj=sol)
     if form.validate_on_submit():
         points = form.points.data
@@ -747,53 +794,6 @@ def org_submit_list(contest_id: int, user_id: int, task_id: int, site_id: Option
                 flash(prefix + ' odevzdáno', 'success')
         return redirect(self_url)
 
-    set_final_form: Optional[SetFinalForm] = None
-    if sol and sc.allow_upload_feedback:
-        set_final_form = SetFinalForm()
-        if set_final_form.validate_on_submit():
-            is_submit = set_final_form.type.data == "submit"
-            is_feedback = set_final_form.type.data == "feedback"
-            paper = sess.query(db.Paper).get(set_final_form.paper_id.data)
-            if not paper:
-                flash('Chyba: Papír s takovým ID neexistuje', 'danger')
-            elif paper.for_user != user_id or paper.for_task != task_id:
-                flash('Chyba: Papír nepatří k dané úloze a uživateli', 'danger')
-            elif (is_submit and sol.final_submit_obj == paper) or (is_feedback and sol.final_feedback_obj == paper):
-                flash('Žádná změna', 'warning')
-            elif is_submit:
-                app.logger.info(f"Finální submit úlohy {task_id} pro uživatele {user_id} změněn na {paper.paper_id}")
-                mo.util.log(
-                    type=db.LogType.participant,
-                    what=user_id,
-                    details={
-                        'action': 'task-final-submit-changed',
-                        'task': task_id,
-                        'old_paper': sol.final_submit,
-                        'new_paper': paper.paper_id
-                    },
-                )
-                sol.final_submit = paper.paper_id
-                sess.commit()
-                flash('Finální řešení změněno', 'success')
-            elif is_feedback:
-                app.logger.info(f"Finální feedback úlohy {task_id} pro uživatele {user_id} změněn na {paper.paper_id}")
-                mo.util.log(
-                    type=db.LogType.participant,
-                    what=user_id,
-                    details={
-                        'action': 'task-final-feedback-changed',
-                        'task': task_id,
-                        'old_paper': sol.final_feedback,
-                        'new_paper': paper.paper_id
-                    },
-                )
-                sol.final_feedback = paper.paper_id
-                sess.commit()
-                flash('Finální oprava změněna', 'success')
-            else:
-                flash('Chyba: Neplatná akce', 'danger')
-            return redirect(self_url)
-
     papers = (sess.query(db.Paper)
               .filter_by(for_user_obj=sc.user, task=sc.task)
               .options(joinedload(db.Paper.uploaded_by_obj))
diff --git a/mo/web/templates/org_submit_list.html b/mo/web/templates/org_submit_list.html
index 76061a6ee18fbe9c6788d921e4e8c26706db8103..ac13d207d5944d2d53db790bb92729278c7fe080 100644
--- a/mo/web/templates/org_submit_list.html
+++ b/mo/web/templates/org_submit_list.html
@@ -53,7 +53,7 @@ Existuje více než jedna verze řešení, finální je podbarvená.
 				<form class="btn-group" method="POST">
 					{{ set_final_form.csrf_token }}
 					<input type="hidden" name="type" value="submit"><input type="hidden" name="paper_id" value="{{ p.paper_id }}">
-					{{ wtf.form_field(set_final_form.submit, class="btn btn-xs btn-default") }}
+					{{ wtf.form_field(set_final_form.submit_final, class="btn btn-xs btn-default") }}
 				</form>
 				{% endif %}
 			</div>
@@ -104,7 +104,7 @@ Existuje více než jedna verze oprav, finální je podbarvená.
 				<form class="btn-group" method="POST">
 					{{ set_final_form.csrf_token }}
 					<input type="hidden" name="type" value="feedback"><input type="hidden" name="paper_id" value="{{ p.paper_id }}">
-					{{ wtf.form_field(set_final_form.submit, class="btn btn-xs btn-default") }}
+					{{ wtf.form_field(set_final_form.submit_final, class="btn btn-xs btn-default") }}
 				</form>
 				{% endif %}
 			</div>