diff --git a/mo/jobs/submit.py b/mo/jobs/submit.py
index 82d19a8ac380516a0154d1bad93b3805a53d08f6..1c699b25fb4069a60c40941496366771cd9c8fbd 100644
--- a/mo/jobs/submit.py
+++ b/mo/jobs/submit.py
@@ -299,11 +299,16 @@ def handle_upload_feedback(the_job: TheJob):
             smtr.submit_paper(paper, fb.tmp_name)
             sess.add(paper)
 
+            # Najdeme řešení úlohy (nemusí existovat)
             sol = (sess.query(db.Solution)
                    .filter_by(task=fb.task, user=fb.user)
-                   .with_for_update()
-                   .one())
-            if fb.is_solution:
+                   .one_or_none())
+
+            if not sol:
+                sol = db.Solution(task=fb.task, user=fb.user)
+                sess.add(sol)
+
+            if paper.type == db.PaperType.solution:
                 sol.final_submit_obj = paper
             else:
                 sol.final_feedback_obj = paper