diff --git a/src/app/services/settings.service.ts b/src/app/services/settings.service.ts
index 0ad1c4850a55c20bcc5a792ebe2b62ec584b26a2..59c9bdba7544a19c526c96c835f7cdeb20419f78 100644
--- a/src/app/services/settings.service.ts
+++ b/src/app/services/settings.service.ts
@@ -23,7 +23,12 @@ export class SettingsService {
   public setSettings(settings: Setting): Observable<Setting> {
     return this.http.post<Setting>(this.configService.config.url + '/services/settings', settings, {observe: "response"}).pipe(
       map(response => {
-        return response.body;
+        if (response.status === 204) {
+          // this is a post which returns nothing, can't use response.body
+          return settings;
+        }
+        // if for some completely weird reason, we do have response content, send it on, it's probably an error
+        return response.body
       }));
   }