diff --git a/src/main/scala/app/IssuesController.scala b/src/main/scala/app/IssuesController.scala
index 4ecdf53b2..38f617d66 100644
--- a/src/main/scala/app/IssuesController.scala
+++ b/src/main/scala/app/IssuesController.scala
@@ -148,4 +148,18 @@ trait IssuesControllerBase extends ControllerBase {
       }
     }
   })
+
+  get("/:owner/:repository/issues/milestones/:milestoneId/delete")(writableRepository {
+    val owner       = params("owner")
+    val repository  = params("repository")
+    val milestoneId = params("milestoneId").toInt
+
+    getMilestone(owner, repository, milestoneId) match {
+      case None    => NotFound()
+      case Some(m) => {
+        deleteMilestone(owner, repository, milestoneId)
+        redirect("/%s/%s/issues/milestones".format(owner, repository))
+      }
+    }
+  })
 }
\ No newline at end of file
diff --git a/src/main/scala/service/IssuesService.scala b/src/main/scala/service/IssuesService.scala
index 7514819d8..b7e666673 100644
--- a/src/main/scala/service/IssuesService.scala
+++ b/src/main/scala/service/IssuesService.scala
@@ -65,6 +65,17 @@ trait IssuesService {
       milestone.dueDate,
       milestone.closedDate)
 
+  def deleteMilestone(owner: String, repository: String, milestoneId: Int): Unit = {
+    Query(Issues)
+      .filter { i => (i.userName is owner.bind) && (i.repositoryName is repository.bind) && (i.milestoneId is milestoneId.bind)}
+      .map    { i => i.milestoneId.? }
+      .update(None)
+
+    Query(Milestones)
+      .filter { i => (i.userName is owner.bind) && (i.repositoryName is repository.bind) && (i.milestoneId is milestoneId.bind)}
+      .delete
+  }
+
   def getMilestone(owner: String, repository: String, milestoneId: Int): Option[Milestone] =
     Query(Milestones)
       .filter(m => (m.userName is owner.bind) && (m.repositoryName is repository.bind) && (m.milestoneId is milestoneId.bind))
diff --git a/src/main/twirl/issues/milestones.scala.html b/src/main/twirl/issues/milestones.scala.html
index 3a4844471..9fab1eaff 100644
--- a/src/main/twirl/issues/milestones.scala.html
+++ b/src/main/twirl/issues/milestones.scala.html
@@ -54,7 +54,7 @@
                         } else {
                           Close
                         }
-                        Delete
+                        Delete
                       }
                       Browse issues
                     
@@ -86,6 +86,13 @@
     
   
 }
+