diff --git a/web/app/query_results/views.py b/web/app/query_results/views.py
index 8a2e01765319f2b512e15941d54dc85873ef8e3f..78fda741cbd594c38137e85655942946ac48a109 100644
--- a/web/app/query_results/views.py
+++ b/web/app/query_results/views.py
@@ -127,9 +127,9 @@ def delete_query_result(query_result_id):
     if not (query_result.creator == current_user
             or current_user.is_administrator()):
         abort(403)
-    tasks.delete_result(query_result_id)
+    tasks.delete_query_result(query_result_id)
     flash('Query result deleted!', 'result')
-    return redirect(url_for('main.dashboard'))
+    return redirect(url_for('services.service', service="corpus_analysis"))
 
 
 @query_results.route('/<int:query_result_id>/download')
diff --git a/web/app/static/js/nopaque.lists.js b/web/app/static/js/nopaque.lists.js
index 50d1a0c3b2ba9551fb83353b6b051f4653d76194..9cb256ddf2bcaca0a113872723f9fb7ceceac304 100644
--- a/web/app/static/js/nopaque.lists.js
+++ b/web/app/static/js/nopaque.lists.js
@@ -118,6 +118,7 @@ RessourceList.dataMapper = {
   // Mapping for imported result entities from corpus analysis.
   // Shown in imported results table
   QueryResult: query_result => ({corpus_name: query_result.query_metadata.corpus_name,
+                                 "delete-link": `prepareQueryResultModal(${query_result.id})`,
                                  description: query_result.description,
                                  id: query_result.id,
                                  "inspect-link": `/query_results/${query_result.id}/inspect`,
@@ -255,6 +256,9 @@ RessourceList.options = {
                            <a class="btn-floating tooltipped waves-effect waves-light inspect-link" data-position="top" data-tooltip="View Results">
                              <i class="material-icons">search</i>
                            </a>
+                           <a class="btn-floating modal-trigger red tooltipped waves-effect waves-light delete-link" data-position="top" data-tooltip="Delete">
+                             <i class="material-icons">delete</i>
+                           </a>
                            <a class="btn-floating tooltipped link waves-effect waves-light" data-position="top" data-tooltip="Go to query result">
                              <i class="material-icons">send</i>
                            </a>
@@ -265,6 +269,7 @@ RessourceList.options = {
                              "query",
                              "title",
                              {data: ["id"]},
+                             {name: "delete-link", attr: "onclick"},
                              {name: "inspect-link", attr: "href"},
                              {name: "link", attr: "href"}]},
   // User entity blueprint setting html strucuture per entity per row
diff --git a/web/app/templates/services/corpus_analysis.html.j2 b/web/app/templates/services/corpus_analysis.html.j2
index ce93c8e0fd489dd1c6bd663072ab781035d81c84..6c34bf021ca227c1b1a34eeb10bd103e4578b3a0 100644
--- a/web/app/templates/services/corpus_analysis.html.j2
+++ b/web/app/templates/services/corpus_analysis.html.j2
@@ -83,11 +83,42 @@
   </div>
 </div>
 
+<!-- Modals -->
+<div id="delete-query-result-modal" class="modal no-autoinit">
+  <div class="modal-content">
+    <h4>Confirm deletion</h4>
+    <p>Do you really want to delete the query result <b id="selected-query-result-title"></b>? It will be permanently deleted.</p>
+  </div>
+  <div class="modal-footer">
+    <a href="#!" class="btn modal-close waves-effect waves-light">Cancel</a>
+    <a class="btn modal-close red waves-effect waves-light" id="selected-query-result-delete-link"><i class="material-icons left">delete</i>Delete</a>
+  </div>
+</div>
+
 <script>
   var corpusList = new RessourceList("corpora", nopaque.corporaSubscribers,
                                      "Corpus", {page: 10});
   var queryResultList = new RessourceList("query-results",
                                           nopaque.queryResultsSubscribers,
                                           "QueryResult", {page: 10});
+  var deleteQueryResultModalElement = document.getElementById("delete-query-result-modal");
+  var deleteQueryResultModal;
+  var selectedQueryResultTitleElement = document.getElementById("selected-query-result-title");
+  var selectedQueryResultDeleteLinkElement = document.getElementById("selected-query-result-delete-link");
+  document.addEventListener("DOMContentLoaded", () => {
+    deleteQueryResultModal = M.Modal.init(deleteQueryResultModalElement);
+  });
+  function prepareQueryResultModal(selectedQueryResultId) {
+    if (selectedQueryResultId in nopaque.user.query_results) {
+      selectedQueryResult = nopaque.user.query_results[selectedQueryResultId];
+      selectedQueryResultTitleElement.innerText = selectedQueryResult.title;
+      selectedQueryResultDeleteLinkElement.href = `/query_results/${selectedQueryResult.id}/delete`;
+    } else {
+      selectedQueryResult = None;
+      selectedQueryResultTitleElement.innerText = "";
+      selectedQueryResultDeleteLinkElement.href = "";
+    }
+    deleteQueryResultModal.open();
+  }
 </script>
 {% endblock %}