diff --git a/server/app/apis/competitions.py b/server/app/apis/competitions.py
index 2a7b2a95b97ffcfdef986ad877f2b6a39e088539..d1fd95722f026cb3aa67e9bb8354a6823af9bbee 100644
--- a/server/app/apis/competitions.py
+++ b/server/app/apis/competitions.py
@@ -54,7 +54,7 @@ class Competitions(Resource):
     def put(self, competition_id):
         args = competition_edit_parser.parse_args(strict=True)
         item = dbc.get.one(Competition, competition_id)
-        item = dbc.edit.default(item, **args)
+        item = dbc.edit.competition(item, **args)
 
         return item_response(schema.dump(item))
 
diff --git a/server/app/apis/slides.py b/server/app/apis/slides.py
index 4357df9e24e95c6febc448f6df5b7fd55912a5a2..52553796260493507bcc47ef32f8977f241a2a88 100644
--- a/server/app/apis/slides.py
+++ b/server/app/apis/slides.py
@@ -43,7 +43,7 @@ class Slides(Resource):
         args = slide_parser.parse_args(strict=True)
 
         item_slide = dbc.get.slide(competition_id, slide_id)
-        item_slide = dbc.edit.default(item_slide, **args)
+        item_slide = dbc.edit.slide(item_slide, **args)
 
         return item_response(schema.dump(item_slide))
 
diff --git a/server/app/database/controller/edit.py b/server/app/database/controller/edit.py
index b1f5bc91e045e43c5f69618a685a39f86c7b081d..94bc6008a1f5b8173df1ddbba7d6745f7c6ea5f0 100644
--- a/server/app/database/controller/edit.py
+++ b/server/app/database/controller/edit.py
@@ -51,3 +51,17 @@ def default(item, **kwargs):
     db.session.commit()
     db.session.refresh(item)
     return item
+
+
+def competition(item, **kwargs):
+    if kwargs["background_image_id"] == -1:
+        item.background_image_id = None
+        del kwargs["background_image_id"]
+    return default(item, **kwargs)
+
+
+def slide(item, **kwargs):
+    if kwargs["background_image_id"] == -1:
+        item.background_image_id = None
+        del kwargs["background_image_id"]
+    return default(item, **kwargs)
\ No newline at end of file