diff --git a/mo/web/org_certs.py b/mo/web/org_certs.py
index 8af0e0c93a59b54b58fd52688c25555adde1c27f..21d3d5f95650fe818ba746dcdbbb1791184b4609 100644
--- a/mo/web/org_certs.py
+++ b/mo/web/org_certs.py
@@ -176,6 +176,10 @@ def org_certificates(ct_id: int):
             form.populate_obj(cset)
             form.populate_obj(dparams)
             cset.design_params = dparams.to_json()
+            if new_cset:
+                # To je potřeba udělat už teď, protože cset.dir_path() níže potřebuje funkční relationships
+                sess.add(cset)
+                sess.flush()
             if dparams.background_type == BackgroundType.custom:
                 if form.upload_background.data:
                     old_background = cset.background_file
@@ -194,7 +198,6 @@ def org_certificates(ct_id: int):
                 cset.background_file = None
             changes = None
             if new_cset:
-                sess.add(cset)
                 mo.util.log(
                     type=db.LogType.cert_set,
                     what=contest.contest_id,