diff --git a/src/frontend/app/administration/tag/tag-administration.component.html b/src/frontend/app/administration/tag/tag-administration.component.html
index d5f9f60ab6400cb76d378dc009fa9932ae8f2815..3afd9d571030e0bce23411fc1c512cd4ffa4479b 100644
--- a/src/frontend/app/administration/tag/tag-administration.component.html
+++ b/src/frontend/app/administration/tag/tag-administration.component.html
@@ -38,7 +38,7 @@
                                     [matAutocomplete]="auto" [matChipInputFor]="chipList">
                             </mat-chip-list>
                             <mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event)">
-                                <mat-option *ngFor="let tag of filteredOptions | async" [value]="tag"  [disabled]="isSelected(tag)">
+                                <mat-option *ngFor="let tag of filteredOptions | async" [value]="tag"  [disabled]="isSelected(tag) || tag.id == id">
                                     {{tag.label}}
                                 </mat-option>
                             </mat-autocomplete>
@@ -77,4 +77,4 @@
             </div>
         </mat-list>
     </mat-sidenav>
-</mat-sidenav-container>
\ No newline at end of file
+</mat-sidenav-container>
diff --git a/src/frontend/app/administration/tag/tag-administration.component.ts b/src/frontend/app/administration/tag/tag-administration.component.ts
index 0fe0c778b48d3e84854830c5c48f62ec2389946c..00bc215cdeb4df42a598813dd28d9a424c3e70f0 100644
--- a/src/frontend/app/administration/tag/tag-administration.component.ts
+++ b/src/frontend/app/administration/tag/tag-administration.component.ts
@@ -63,19 +63,19 @@ export class TagAdministrationComponent implements OnInit {
     ) {
     }
 
-    async ngOnInit(): Promise<void> {
+    ngOnInit(): void {
         this.loading = true;
 
-        await this.getTags();
 
-        this.route.params.subscribe((params) => {
+        this.route.params.subscribe(async (params) => {
+            this.id = params['id'];
+            await this.getTags();
             if (typeof params['id'] === 'undefined') {
                 this.headerService.setHeader(this.lang.tagCreation);
                 this.creationMode = true;
                 this.loading = false;
             } else {
                 this.creationMode = false;
-                this.id = params['id'];
                 this.http.get(`../../rest/tags/${this.id}`).pipe(
                     tap((data: any) => {
                         Object.keys(this.tag).forEach(element => {
@@ -148,12 +148,13 @@ export class TagAdministrationComponent implements OnInit {
         return new Promise((resolve) => {
             this.http.get('../../rest/tags').pipe(
                 tap((data: any) => {
-                    this.tags = data.tags.filter((tag: any) => tag.id !== this.id).map((tag: any) => {
+                    this.tags = data.tags.map((tag: any) => {
                         return {
                             id: tag.id,
                             label: tag.label,
                             parentId: tag.parentId,
-                            countResources: tag.countResources
+                            countResources: tag.countResources,
+                            disabled: tag.id == this.id
                         };
                     });
                     resolve(true);