diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html
index 31e95cc8d92b6a3ec9ef9118b717b0fe10adf1e7..5ee44de247058557a664e889e97b5686f1b44a8b 100644
--- a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html
+++ b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html
@@ -138,7 +138,7 @@
 
           </mat-card>
           <mat-card style="background: none; margin-bottom: 10px;">
-            <mat-slide-toggle [(ngModel)]="blacklistIsActive" (change)="changeblacklist()">
+            <mat-slide-toggle [(ngModel)]="blacklistIsActive">
               {{'topic-cloud-dialog.hide-blacklist-words' | translate}}
             </mat-slide-toggle>
           </mat-card>
diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts
index 550a7363a109ca26f9af61469ec30b9172eff9b7..1945cd89a4c1ec8d994b50c648ab50f883cbc801 100644
--- a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts
+++ b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts
@@ -101,13 +101,6 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy {
     this.initializeKeywords();
   }
 
-  changeblacklist() {
-    this.topicCloudAdminService.getRoom().subscribe(room => {
-      room.blacklistIsActive = this.blacklistIsActive;
-      this.topicCloudAdminService.updateRoom(room);
-    });
-  }
-
   removeFromKeywords(comment: Comment) {
     for (const keyword of this.keywords) {
       keyword.comments.forEach(_comment => {
@@ -276,7 +269,7 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy {
       startDate: this.startDate.length ? this.startDate : null,
       endDate: this.endDate.length ? this.endDate : null
     };
-    this.topicCloudAdminService.setAdminData(this.topicCloudAdminData);
+    this.topicCloudAdminService.setAdminData(this.topicCloudAdminData, true);
   }
 
   setDefaultAdminData() {
diff --git a/src/app/services/util/topic-cloud-admin.service.ts b/src/app/services/util/topic-cloud-admin.service.ts
index 6a5b788b92611607650886e06e92e779552e3070..e21964674fe463c9cb810dbceccc51e87817bc73 100644
--- a/src/app/services/util/topic-cloud-admin.service.ts
+++ b/src/app/services/util/topic-cloud-admin.service.ts
@@ -36,6 +36,9 @@ export class TopicCloudAdminService {
         this.blacklist.next(room.blacklist ? JSON.parse(room.blacklist) : []);
         this.blacklistActive = room.blacklistIsActive;
         this.blacklistIsActive.next(room.blacklistIsActive);
+        const data = TopicCloudAdminService.getDefaultAdminData;
+        data.blacklistIsActive = this.blacklistActive;
+        this.setAdminData(data, false);
       }
     });
     this.adminData = new BehaviorSubject<TopicCloudAdminData>(TopicCloudAdminService.getDefaultAdminData);
@@ -127,23 +130,28 @@ export class TopicCloudAdminService {
     return this.adminData.asObservable();
   }
 
-  setAdminData(_adminData: TopicCloudAdminData) {
+  setAdminData(_adminData: TopicCloudAdminData, updateRoom: boolean) {
     localStorage.setItem(TopicCloudAdminService.adminKey, JSON.stringify(_adminData));
-    this.getBlacklistIsActive().subscribe(isActive => {
-      _adminData.blacklistIsActive = isActive;
-    });
-    this.getBlacklist().subscribe(list => {
-      _adminData.blacklist = [];
-      if (_adminData.blacklistIsActive) {
-        _adminData.blacklist = list;
-      }
-      if (_adminData.profanityFilter !== ProfanityFilter.deactivated) {
-        _adminData.blacklist = _adminData.blacklist.concat(this.profanityFilterService.getProfanityList);
-      }
-      localStorage.setItem(TopicCloudAdminService.adminKey, JSON.stringify(_adminData));
-      _adminData.blacklistIsActive = this.blacklistActive;
-      this.adminData.next(_adminData);
-    });
+    if (updateRoom) {
+      this.getRoom().subscribe(room => {
+        room.blacklistIsActive = _adminData.blacklistIsActive;
+        this.updateRoom(room);
+      });
+    } else {
+      const subscription = this.getBlacklist().subscribe(list => {
+        _adminData.blacklist = [];
+        if (_adminData.blacklistIsActive) {
+          _adminData.blacklist = list;
+        }
+        if (_adminData.profanityFilter !== ProfanityFilter.deactivated) {
+          _adminData.blacklist = _adminData.blacklist.concat(this.profanityFilterService.getProfanityList);
+        }
+        localStorage.setItem(TopicCloudAdminService.adminKey, JSON.stringify(_adminData));
+        _adminData.blacklistIsActive = this.blacklistActive;
+        this.adminData.next(_adminData);
+        subscription.unsubscribe();
+      });
+    }
   }
 
   getBlacklist(): Observable<string[]> {