diff --git a/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts b/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts
index c6959bf60c674437407e2283dbe51360094ed8a8..5369030217bc7d46709569c95f1c9bcf66a71247 100644
--- a/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts
+++ b/src/app/components/creator/_dialogs/room-edit/room-edit.component.ts
@@ -1,6 +1,6 @@
 import { Component, Inject, OnInit } from '@angular/core';
 import { FormControl, Validators } from '@angular/forms';
-import { Room } from '../../../../models/room';
+import { ProfanityFilter, Room } from '../../../../models/room';
 import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
 import { RoomDeleteComponent } from '../room-delete/room-delete.component';
 import { NotificationService } from '../../../../services/util/notification.service';
@@ -19,7 +19,7 @@ import { RoomDeleted } from '../../../../models/events/room-deleted';
 })
 export class RoomEditComponent implements OnInit {
   editRoom: Room;
-  check: boolean = false;
+  check = false;
   profanityCheck: boolean;
   censorPartialWordsCheck: boolean;
   censorLanguageSpecificCheck: boolean;
@@ -38,9 +38,13 @@ export class RoomEditComponent implements OnInit {
 
   ngOnInit() {
     this.check = this.editRoom.questionsBlocked;
-    this.profanityCheck = this.editRoom.profanityFilter;
-    this.censorLanguageSpecificCheck = this.editRoom.censorLanguageSpecific;
-    this.censorPartialWordsCheck = this.editRoom.censorPartialWords;
+    this.profanityCheck = this.editRoom.profanityFilter !== ProfanityFilter.deactived;
+    if (this.editRoom.profanityFilter === ProfanityFilter.all){
+      this.censorLanguageSpecificCheck = this.censorPartialWordsCheck = true;
+    } else if (this.profanityCheck){
+      this.censorLanguageSpecificCheck = this.editRoom.profanityFilter === ProfanityFilter.languageSpecific;
+      this.censorPartialWordsCheck = this.editRoom.profanityFilter === ProfanityFilter.partialWords;
+    }
   }
 
   openDeleteRoomDialog(): void {
@@ -77,9 +81,13 @@ export class RoomEditComponent implements OnInit {
 
   save(): void {
     this.editRoom.questionsBlocked = this.check;
-    this.editRoom.profanityFilter = this.profanityCheck;
-    this.editRoom.censorLanguageSpecific = this.censorLanguageSpecificCheck;
-    this.editRoom.censorPartialWords = this.censorPartialWordsCheck;
+    this.editRoom.profanityFilter = this.profanityCheck ? ProfanityFilter.none : ProfanityFilter.deactived;
+    if (this.censorLanguageSpecificCheck && this.censorPartialWordsCheck) {
+      this.editRoom.profanityFilter = ProfanityFilter.all;
+    } else if (this.profanityCheck){
+      this.editRoom.profanityFilter = this.censorLanguageSpecificCheck ? ProfanityFilter.languageSpecific : ProfanityFilter.none;
+      this.editRoom.profanityFilter = this.censorPartialWordsCheck ? ProfanityFilter.partialWords : this.editRoom.profanityFilter;
+    }
     this.roomService.updateRoom(this.editRoom).subscribe(r => this.editRoom = r);
     if (!this.roomNameFormControl.hasError('required')
         && !this.roomNameFormControl.hasError('minlength')
diff --git a/src/app/components/shared/_dialogs/room-create/room-create.component.ts b/src/app/components/shared/_dialogs/room-create/room-create.component.ts
index 191ce27da1750415a4ee897360169d3f11e6f2c0..1bd5cb42a962b96f96837c4a9f11b3be0ee4d9dd 100644
--- a/src/app/components/shared/_dialogs/room-create/room-create.component.ts
+++ b/src/app/components/shared/_dialogs/room-create/room-create.component.ts
@@ -1,6 +1,6 @@
 import { Component, Inject, OnInit } from '@angular/core';
 import { RoomService } from '../../../../services/http/room.service';
-import { Room } from '../../../../models/room';
+import { ProfanityFilter, Room } from '../../../../models/room';
 import { UserRole } from '../../../../models/user-roles.enum';
 import { Router } from '@angular/router';
 import { NotificationService } from '../../../../services/util/notification.service';
@@ -76,7 +76,7 @@ export class RoomCreateComponent implements OnInit {
     newRoom.description = '';
     newRoom.blacklist = '[]';
     newRoom.questionsBlocked = false;
-    newRoom.profanityFilter = true;
+    newRoom.profanityFilter = ProfanityFilter.none;
     if (this.hasCustomShortId && this.customShortIdName && this.customShortIdName.length > 0) {
       if (!new RegExp('[1-9a-z,A-Z,\s,\-,\.,\_,\~]+').test(this.customShortIdName)
         || this.customShortIdName.startsWith(' ') || this.customShortIdName.endsWith(' ')) {
diff --git a/src/app/models/room.ts b/src/app/models/room.ts
index d8215049c87442fcacf83f10b99c4a5569979e97..925f4390f061b2507565c1a22a644d3a302c61cb 100644
--- a/src/app/models/room.ts
+++ b/src/app/models/room.ts
@@ -15,9 +15,7 @@ export class Room {
   threshold: number;
   tags: string[];
   questionsBlocked: boolean;
-  profanityFilter: boolean;
-  censorPartialWords: boolean;
-  censorLanguageSpecific: boolean;
+  profanityFilter: ProfanityFilter;
 
 
   constructor(
@@ -33,9 +31,7 @@ export class Room {
     threshold: number = null,
     tags: string[] = [],
     questionsBlocked: boolean = false,
-    profanityFilter: boolean = true,
-    censorPartialWords: boolean = false,
-    censorLanguageSpecific: boolean = false
+    profanityFilter: ProfanityFilter = ProfanityFilter.none
   ) {
     this.id = '';
     this.ownerId = ownerId;
@@ -51,7 +47,13 @@ export class Room {
     this.tags = tags;
     this.questionsBlocked = questionsBlocked;
     this.profanityFilter = profanityFilter;
-    this.censorPartialWords = censorPartialWords;
-    this.censorLanguageSpecific = censorLanguageSpecific;
   }
 }
+
+export enum ProfanityFilter{
+  all = 0,
+  languageSpecific = 1,
+  partialWords = 2,
+  none = 3,
+  deactived = 4
+}
diff --git a/src/app/services/http/room.service.ts b/src/app/services/http/room.service.ts
index 17a710ff083ec956d55c51bfdffcd22b5a5e4f7d..fab200a216f1002d549c507efd42cc74c6b85201 100644
--- a/src/app/services/http/room.service.ts
+++ b/src/app/services/http/room.service.ts
@@ -138,9 +138,6 @@ export class RoomService extends BaseHttpService {
   }
 
   setRoomId(room: Room): void {
-    // temp
-    room.censorLanguageSpecific = true;
-    room.censorPartialWords = true;
     localStorage.setItem('roomId', room.id);
   }
 }
diff --git a/src/app/services/util/room-data.service.ts b/src/app/services/util/room-data.service.ts
index e7a5205fbce8c094966807f8459d51c010fb8cbd..98854e0ac18855e551ead7e015b5d8124669b2a4 100644
--- a/src/app/services/util/room-data.service.ts
+++ b/src/app/services/util/room-data.service.ts
@@ -7,6 +7,7 @@ import { CommentService } from '../http/comment.service';
 import { CorrectWrong } from '../../models/correct-wrong.enum';
 import { RoomService } from '../http/room.service';
 import { TopicCloudAdminService } from './topic-cloud-admin.service';
+import { ProfanityFilter, Room } from '../../models/room';
 
 export interface UpdateInformation {
   type: 'CommentCreated' | 'CommentPatched' | 'CommentHighlighted' | 'CommentDeleted';
@@ -127,13 +128,12 @@ export class RoomDataService {
   }
 
   getComment(id: string): Observable<Comment> {
-    if (!this._fastCommentAccess) {
+    if (!this._fastCommentAccess[id]) {
       const comment = new Subject<Comment>();
       this.commentService.getComment(id).subscribe(c => {
         this.roomService.getRoom(localStorage.getItem('roomId')).subscribe(room => {
           if (room.profanityFilter) {
-            c.body = this.topicCloudAdminService.filterProfanityWords(c.body,
-                                                room.censorPartialWords, room.censorLanguageSpecific, ['comment.langs']);
+            c.body = this.filterCommentOfProfanity(room, c);
           }
           comment.next(c);
         });
@@ -147,7 +147,7 @@ export class RoomDataService {
 
   public checkProfanity(comment: Comment) {
     this.roomService.getRoom(localStorage.getItem('roomId')).subscribe(room => {
-      if (room.profanityFilter) {
+      if (room.profanityFilter !== ProfanityFilter.deactived) {
         comment.body = this._savedCommentsAfterFilter.get(comment.id);
       } else {
         comment.body = this._savedCommentsBeforeFilter.get(comment.id);
@@ -158,12 +158,16 @@ export class RoomDataService {
   private setCommentBodies(comment: Comment) {
     this.roomService.getRoom(localStorage.getItem('roomId')).subscribe(room => {
       this._savedCommentsBeforeFilter.set(comment.id, comment.body);
-      this._savedCommentsAfterFilter.set(comment.id, this.topicCloudAdminService
-          .filterProfanityWords(comment.body, room.censorPartialWords, room.censorLanguageSpecific, ['comment.langs']) // comment.langs
-      );
+      this._savedCommentsAfterFilter.set(comment.id, this.filterCommentOfProfanity(room, comment));
     });
   }
 
+  private filterCommentOfProfanity(room: Room, comment: Comment): string {
+    const partialWords = room.profanityFilter === ProfanityFilter.all || room.profanityFilter === ProfanityFilter.partialWords;
+    const languageSpecific = room.profanityFilter === ProfanityFilter.all || room.profanityFilter === ProfanityFilter.languageSpecific;
+    return this.topicCloudAdminService.filterProfanityWords(comment.body, partialWords, languageSpecific, ['de']);
+  }
+
   private removeCommentBodies(key: string) {
     this._savedCommentsBeforeFilter.delete(key);
     this._savedCommentsAfterFilter.delete(key);