diff --git a/src/app/services/structure.service.ts b/src/app/services/structure.service.ts
index f767540dcf7e19398809830daf1d5955ebeeb11e..97caee520996d96e60eac4b9bc35d9eb2c3a9ac6 100644
--- a/src/app/services/structure.service.ts
+++ b/src/app/services/structure.service.ts
@@ -40,8 +40,13 @@ export class StructureService {
   }
 
   public getStructure(id: string): Observable<Structure> {
-    return this.http.get(`${this.baseUrl}/${id}`).pipe(map((item: any) => new Structure(item)));
+    return this.http.get<Structure>(`${this.baseUrl}/${id}`);
   }
+
+  public delete(id: string): Observable<Structure> {
+    return this.http.delete<Structure>(`${this.baseUrl}/${id}`);
+  }
+
   public getStructures(filters: Filter[]): Observable<Structure[]> {
     if (filters && filters.length > 0) {
       let requestUrl = `${this.baseUrl}/search`;
diff --git a/src/app/structure-list/components/structure-details/structure-details.component.html b/src/app/structure-list/components/structure-details/structure-details.component.html
index 0d2659880097ca8719e2c596d41b26ef84d33bac..4a5fabdf3f32be9b0555401c2022677de7475081 100644
--- a/src/app/structure-list/components/structure-details/structure-details.component.html
+++ b/src/app/structure-list/components/structure-details/structure-details.component.html
@@ -9,7 +9,7 @@
 <div class="structrue-details-container" *ngIf="structure && !isLoading">
   <!-- Header info -->
   <div fxLayout="row" fxLayoutAlign="end center">
-    <div (click)="close()" class="ico-close-details"></div>
+    <div (click)="close(false)" class="ico-close-details"></div>
   </div>
   <div fxLayout="row" class="structure-details-block" fxLayoutAlign="baseline baseline" fxLayoutGap="8px">
     <div fxLayout="column" fxLayoutGap="10px" fxFlex="100%">
@@ -92,6 +92,9 @@
         >
           Modifier cette structure
         </a>
+        <a *ngIf="profileService.isAdmin()" (click)="deleteStructure()" class="primary" tabindex="0">
+          Supprimer cette structure
+        </a>
       </div>
       <div>
         {{ structure.description }}
diff --git a/src/app/structure-list/components/structure-details/structure-details.component.ts b/src/app/structure-list/components/structure-details/structure-details.component.ts
index 747ca0402f88d59d7bf864b1f150f2c39b04572c..e714b327bd631a425599019e79a813c56745a539 100644
--- a/src/app/structure-list/components/structure-details/structure-details.component.ts
+++ b/src/app/structure-list/components/structure-details/structure-details.component.ts
@@ -5,7 +5,7 @@ import { Category } from '../../models/category.model';
 import { AccessModality } from '../../enum/access-modality.enum';
 import { SearchService } from '../../services/search.service';
 import * as _ from 'lodash';
-import { ActivatedRoute } from '@angular/router';
+import { ActivatedRoute, Router } from '@angular/router';
 import { PrintService } from '../../../shared/service/print.service';
 import { Equipment } from '../../enum/equipment.enum';
 import { typeStructureEnum } from '../../../shared/enum/typeStructure.enum';
@@ -41,13 +41,14 @@ export class StructureDetailsComponent implements OnInit {
   public currentProfile: User = null;
 
   constructor(
-    route: ActivatedRoute,
     private printService: PrintService,
     private searchService: SearchService,
     private structureService: StructureService,
     private tclService: TclService,
     private profileService: ProfileService,
-    private authService: AuthService
+    private authService: AuthService,
+    private route: ActivatedRoute,
+    private router: Router
   ) {
     route.url.subscribe((url) => {
       if (url[0].path === 'structure') {
@@ -103,8 +104,8 @@ export class StructureDetailsComponent implements OnInit {
     }
   }
 
-  public close(): void {
-    this.closeDetails.emit(true);
+  public close(refreshRequired: boolean): void {
+    this.closeDetails.emit(refreshRequired);
   }
 
   public print(): void {
@@ -116,6 +117,18 @@ export class StructureDetailsComponent implements OnInit {
     this.displayForm();
   }
 
+  public deleteStructure(): void {
+    this.structureService.delete(this.structure._id).subscribe((res) => {
+      this.reload();
+    });
+  }
+
+  private reload(): void {
+    this.router.routeReuseStrategy.shouldReuseRoute = () => false;
+    this.router.onSameUrlNavigation = 'reload';
+    this.router.navigate(['./'], { relativeTo: this.route });
+  }
+
   public claimStructure(): void {
     this.isEditMode = false;
     this.displayForm();