diff --git a/src/app/standby-schedule/components/planninglist/planninglist.component.spec.ts b/src/app/standby-schedule/components/planninglist/planninglist.component.spec.ts
index 3fb40e0..a64d3bd 100644
--- a/src/app/standby-schedule/components/planninglist/planninglist.component.spec.ts
+++ b/src/app/standby-schedule/components/planninglist/planninglist.component.spec.ts
@@ -62,6 +62,9 @@
   validate() {
     return of([planninglistMockObjects.PROTOCOL_OBJECT]);
   }
+  deletePlan() {
+    return of();
+  }
 }
 
 describe('PlanninglistComponent', () => {
@@ -303,4 +306,37 @@
       component.validatePlan(1);
     });
   });
+
+  describe('deletePlan()', () => {
+    it('should import into planning', () => {
+      component.form.patchValue({
+        standbyListId: 1,
+        validFrom: { day: 1, month: 10, year: 2018 },
+        validTo: { day: 2, month: 10, year: 2018 }
+      });
+      component.deletePlan();
+      component.deleteModalWarningRef.componentInstance.decision.next(true);
+      expect(component).toBeTruthy();
+    });
+
+    it('shouldn´t import into planning', () => {
+      component.form.patchValue({
+        standbyListId: 1,
+        validFrom: { day: 1, month: 10, year: 2018 },
+        validTo: { day: 2, month: 10, year: 2018 }
+      });
+      component.deletePlan();
+      component.deleteModalWarningRef.componentInstance.decision.next(false);
+      expect(component).toBeTruthy();
+    });
+
+    it('should return false on validating the form', () => {
+      component.form.patchValue({
+        standbyListId: '',
+        validFrom: { day: 1, month: 10, year: 2018 },
+        validTo: { day: 2, month: 10, year: 2018 }
+      });
+      component.deletePlan();
+    });
+  });
 });
diff --git a/src/app/standby-schedule/services/planning.service.spec.ts b/src/app/standby-schedule/services/planning.service.spec.ts
index cb151d2..d481104 100644
--- a/src/app/standby-schedule/services/planning.service.spec.ts
+++ b/src/app/standby-schedule/services/planning.service.spec.ts
@@ -192,4 +192,15 @@
 
     httpMock.expectOne(`${utilService.readConfig('basePath')}/validation/standbyschedule/status/1`);
   });
+
+  /**
+   * Deletion
+   */
+  it('should delete plans', () => {
+    planningService.deletePlan(1, new SearchBodiesObject()).subscribe(response => {
+      expect(response).toBeTruthy();
+    });
+
+    httpMock.expectOne(`${utilService.readConfig('basePath')}/standbyschedule/delete/bodies/1`);
+  });
 });
diff --git a/src/app/standby-schedule/services/planning.service.ts b/src/app/standby-schedule/services/planning.service.ts
index 9835367..1b7bfae 100644
--- a/src/app/standby-schedule/services/planning.service.ts
+++ b/src/app/standby-schedule/services/planning.service.ts
@@ -145,7 +145,7 @@
 
   deletePlan(id: number, deletionObj: SearchBodiesObject) {
     return this.http.put<any>(
-      `${this.utilService.readConfig('basePath')}standbyschedule/delete/bodies/${id}`, deletionObj
+      `${this.utilService.readConfig('basePath')}/standbyschedule/delete/bodies/${id}`, deletionObj
     );
   }
 
