diff --git a/src/app/components/shared/_dialogs/create-comment/create-comment.component.ts b/src/app/components/shared/_dialogs/create-comment/create-comment.component.ts
index 4c59942a4a8dc03160a61a9e33eeb42509382b76..cf293531173d853cff72744b41549cf46685bd1d 100644
--- a/src/app/components/shared/_dialogs/create-comment/create-comment.component.ts
+++ b/src/app/components/shared/_dialogs/create-comment/create-comment.component.ts
@@ -121,6 +121,10 @@ export class CreateCommentComponent implements OnInit, OnDestroy {
       .subscribe((result) => {
         if (result.isAcceptable) {
           const commentLang = this.languagetoolService.mapLanguageToSpacyModel(result.result.language.code as Language);
+          // Store language if it was auto-detected
+          if(this.selectedLang === 'auto') {
+            comment.language = commentLang;
+          }
           const dialogRef = this.dialog.open(SpacyDialogComponent, {
             data: {
               comment,
diff --git a/src/app/components/shared/_dialogs/spacy-dialog/spacy-dialog.component.ts b/src/app/components/shared/_dialogs/spacy-dialog/spacy-dialog.component.ts
index e9135039b507867e40635f5b5937d4c3a9299c30..bbfb8714bee1759befc7e515173d8319f37151b1 100644
--- a/src/app/components/shared/_dialogs/spacy-dialog/spacy-dialog.component.ts
+++ b/src/app/components/shared/_dialogs/spacy-dialog/spacy-dialog.component.ts
@@ -4,7 +4,7 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
 import { CleaningFunctionService} from '../../../../services/util/cleaning-function.service';
 import { CreateCommentComponent } from '../create-comment/create-comment.component';
 import { SpacyService, Model } from '../../../../services/http/spacy.service';
-import { LanguageService } from '../../../../services/util/language.service';
+import { LanguagetoolService } from '../../../..//services/http/languagetool.service';
 import { Comment } from '../../../../models/comment';
 import { map } from 'rxjs/operators';
 
@@ -32,7 +32,7 @@ export class SpacyDialogComponent implements OnInit, AfterContentInit {
   manualKeywords = '';
 
   constructor(
-    protected langService: LanguageService,
+    protected langService: LanguagetoolService,
     private spacyService: SpacyService,
     private cleaningService: CleaningFunctionService,
     public dialogRef: MatDialogRef<CreateCommentComponent>,
@@ -43,7 +43,7 @@ export class SpacyDialogComponent implements OnInit, AfterContentInit {
     this.comment = this.data.comment;
     this.commentLang = this.data.commentLang;
     this.commentBodyChecked = this.data.commentBodyChecked;
-    this.langSupported = this.commentLang !== 'auto';
+    this.langSupported = this.langService.isSupportedLanguage(this.data.commentLang);
   }
 
   ngAfterContentInit(): void {
diff --git a/src/app/models/comment.ts b/src/app/models/comment.ts
index 31f2711c1bb7d74934ca8e55802fd4aee2fdca20..f2388d55ce963726962f7838dbb878dddde7d270 100644
--- a/src/app/models/comment.ts
+++ b/src/app/models/comment.ts
@@ -1,4 +1,5 @@
 import { dashCaseToCamelCase } from '@angular/compiler/src/util';
+import { Model } from '../services/http/spacy.service';
 import { CorrectWrong } from './correct-wrong.enum';
 
 export class Comment {
@@ -24,6 +25,7 @@ export class Comment {
   keywordsFromSpacy: string[];
   upvotes: number;
   downvotes: number;
+  language: Model;
 
   constructor(roomId: string = '',
               creatorId: string = '',
@@ -43,7 +45,8 @@ export class Comment {
               keywordsFromQuestioner: string[] = [],
               keywordsFromSpacy: string[] = [],
               upvotes = 0,
-              downvotes = 0) {
+              downvotes = 0,
+              language: Model = 'auto') {
     this.id = '';
     this.roomId = roomId;
     this.creatorId = creatorId;
@@ -65,5 +68,6 @@ export class Comment {
     this.keywordsFromSpacy = keywordsFromSpacy;
     this.upvotes = upvotes;
     this.downvotes = downvotes;
+    this.language = language;
   }
 }
diff --git a/src/app/services/http/comment.service.ts b/src/app/services/http/comment.service.ts
index 835a6ca0e5063f0eb97e07ed581c225a12d21c96..3dfd86cdbbf122959d4dfbdd43bbd69c5ae1c1eb 100644
--- a/src/app/services/http/comment.service.ts
+++ b/src/app/services/http/comment.service.ts
@@ -86,7 +86,8 @@ export class CommentService extends BaseHttpService {
         roomId: comment.roomId, body: comment.body,
         read: comment.read, creationTimestamp: comment.timestamp, tag: comment.tag,
         keywordsFromSpacy: JSON.stringify(comment.keywordsFromSpacy),
-        keywordsFromQuestioner: JSON.stringify(comment.keywordsFromQuestioner)
+        keywordsFromQuestioner: JSON.stringify(comment.keywordsFromQuestioner),
+        language: comment.language
       }, httpOptions).pipe(
       tap(_ => ''),
       catchError(this.handleError<Comment>('addComment'))
diff --git a/src/app/services/http/languagetool.service.ts b/src/app/services/http/languagetool.service.ts
index 0305c581109d8a7b1c70634c1919a35ab810854a..5a3fea983bf29a2df95b61759ce242d2f868a177 100644
--- a/src/app/services/http/languagetool.service.ts
+++ b/src/app/services/http/languagetool.service.ts
@@ -5,7 +5,14 @@ import { catchError } from 'rxjs/operators';
 import { Model } from './spacy.service';
 import { Observable } from 'rxjs';
 
-export type Language = 'de-DE' | 'en-US' | 'fr' | 'auto';
+export type Language =  'de' | 'de-AT' | 'de-CH' | 'de-DE' |
+                        'en' | 'en-AU' | 'en-CA' | 'en-GB' | 'en-US' |
+                        'fr' |
+                        'es' |
+                        'it' |
+                        'nl' | 'nl-BE' |
+                        'pt' | 'pt-BR' | 'pt-PT' |
+                        'auto';
 
 export interface LanguagetoolResult {
   software: {
@@ -75,17 +82,40 @@ export class LanguagetoolService extends BaseHttpService {
 
   mapLanguageToSpacyModel(language: Language): Model {
     switch (language) {
+      case 'de':
+      case 'de-AT':
+      case 'de-CH':
       case 'de-DE':
         return 'de';
+      case 'en':
+      case 'en-AU':
+      case 'en-CA':
+      case 'en-GB':
       case 'en-US':
         return 'en';
+      case 'es':
+        return 'es';
       case 'fr':
-        return 'fr';
+          return 'fr';
+      case 'it':
+        return 'it';
+      case 'nl':
+      case 'nl-BE':
+        return 'nl';
+      case 'pt':
+      case 'pt-BR':
+      case 'pt-PT':
+        return 'pt';
       default:
         return 'auto';
     }
   }
 
+  isSupportedLanguage(language: Language) {
+    const supportedLanguages: Model[] = ['de', 'en', 'fr'];
+    return supportedLanguages.includes(this.mapLanguageToSpacyModel(language));
+  }
+
   checkSpellings(text: string, language: Language): Observable<LanguagetoolResult> {
     const url = '/languagetool';
     return this.http.get<LanguagetoolResult>(url, {