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 bbe0a62689038296696bb76882a93adcf9ede9dd..2ec268af255733107e331cd4729d4b621277b8e2 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">
+            <mat-slide-toggle [(ngModel)]="blacklistIsActive" (change)="changeblacklist()">
               {{'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 fa75063138a5de59e70d1797a6c1040a74fbeee0..6b595c926aaef352da3d89dfbd3ad80c3218adb3 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
@@ -85,6 +85,7 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy {
   }
 
   ngOnInit(): void {
+    this.topicCloudAdminService.getBlacklistIsActive().subscribe(isActive => this.blacklistIsActive = isActive);
     this.deviceType = localStorage.getItem('deviceType');
     this.blacklistSubscription = this.topicCloudAdminService.getBlacklist().subscribe(list => this.blacklist = list);
     this.profanitywordlist = this.profanityFilterService.getProfanityListFromStorage();
@@ -100,6 +101,13 @@ 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 => {
@@ -218,7 +226,7 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy {
   }
 
   blacklistIncludesKeyword(keyword: string) {
-    return this.blacklist.includes(keyword.toLowerCase());
+    return this.blacklistIsActive && this.blacklist.includes(keyword.toLowerCase());
   }
 
   checkIfCommentExists(comments: Comment[], id: string): boolean {
diff --git a/src/app/models/room.ts b/src/app/models/room.ts
index abd4a42965183ac5dcf0adc0381067e857996cd1..d90e5be0ea0b2dd4d22898bbba8c2ce21da12e61 100644
--- a/src/app/models/room.ts
+++ b/src/app/models/room.ts
@@ -14,6 +14,7 @@ export class Room {
   tags: string[];
   questionsBlocked: boolean;
   profanityFilter: ProfanityFilter;
+  blacklistIsActive: boolean;
 
   constructor(
     ownerId: string = '',
@@ -28,7 +29,8 @@ export class Room {
     threshold: number = null,
     tags: string[] = [],
     questionsBlocked: boolean = false,
-    profanityFilter: ProfanityFilter = ProfanityFilter.none
+    profanityFilter: ProfanityFilter = ProfanityFilter.none,
+    blacklistIsActive: boolean = true
   ) {
     this.id = '';
     this.ownerId = ownerId;
@@ -44,6 +46,7 @@ export class Room {
     this.tags = tags;
     this.questionsBlocked = questionsBlocked;
     this.profanityFilter = profanityFilter;
+    this.blacklistIsActive = blacklistIsActive;
   }
 }
 
diff --git a/src/app/services/util/topic-cloud-admin.service.ts b/src/app/services/util/topic-cloud-admin.service.ts
index 97a2df7b8b01578f3b610ffaa185671baa076b5c..465bd54fa9ec5299fab8c5d45d13968c53bfba44 100644
--- a/src/app/services/util/topic-cloud-admin.service.ts
+++ b/src/app/services/util/topic-cloud-admin.service.ts
@@ -20,6 +20,7 @@ export class TopicCloudAdminService {
   private static readonly adminKey = 'Topic-Cloud-Admin-Data';
   private adminData: BehaviorSubject<TopicCloudAdminData>;
   private blacklist: Subject<string[]>;
+  private blacklistIsActive: Subject<boolean>;
 
   constructor(private roomService: RoomService,
               private translateService: TranslateService,
@@ -27,11 +28,13 @@ export class TopicCloudAdminService {
               private profanityFilterService: ProfanityFilterService,
               private notificationService: NotificationService) {
     this.blacklist = new Subject<string[]>();
+    this.blacklistIsActive = new Subject<boolean>();
     this.wsRoomService.getRoomStream(localStorage.getItem('roomId')).subscribe(msg => {
       const message = JSON.parse(msg.body);
       const room = message.payload.changes;
       if (message.type === 'RoomPatched') {
         this.blacklist.next(room.blacklist ? JSON.parse(room.blacklist) : []);
+        this.blacklistIsActive.next(room.blacklistIsActive);
       }
     });
     this.adminData = new BehaviorSubject<TopicCloudAdminData>(TopicCloudAdminService.getDefaultAdminData);
@@ -125,16 +128,18 @@ export class TopicCloudAdminService {
 
   setAdminData(_adminData: TopicCloudAdminData) {
     localStorage.setItem(TopicCloudAdminService.adminKey, JSON.stringify(_adminData));
-    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));
-      this.adminData.next(_adminData);
+    this.getBlacklistIsActive().subscribe(isActive => {
+      this.getBlacklist().subscribe(list => {
+        _adminData.blacklist = [];
+        if (isActive) {
+          _adminData.blacklist = list;
+        }
+        if (_adminData.profanityFilter !== ProfanityFilter.deactivated) {
+          _adminData.blacklist = _adminData.blacklist.concat(this.profanityFilterService.getProfanityList);
+        }
+        localStorage.setItem(TopicCloudAdminService.adminKey, JSON.stringify(_adminData));
+        this.adminData.next(_adminData);
+      });
     });
   }
 
@@ -142,10 +147,15 @@ export class TopicCloudAdminService {
     this.getRoom().subscribe(room => {
       const list = room.blacklist ? JSON.parse(room.blacklist) : [];
       this.blacklist.next(list);
+      this.blacklistIsActive.next(room.blacklistIsActive);
     });
     return this.blacklist.asObservable();
   }
 
+  getBlacklistIsActive() {
+    return this.blacklistIsActive.asObservable();
+  }
+
   getRoom(): Observable<Room> {
     return this.roomService.getRoom(localStorage.getItem('roomId'));
   }