diff --git a/js/views/confirmation_dialog_view.js b/js/views/confirmation_dialog_view.js
index 17d248f6a..f22ba48e0 100644
--- a/js/views/confirmation_dialog_view.js
+++ b/js/views/confirmation_dialog_view.js
@@ -10,6 +10,7 @@
         templateName: 'confirmation-dialog',
         initialize: function(options) {
             this.message = options.message;
+            this.hideCancel = options.hideCancel;
 
             this.resolve = options.resolve;
             this.okText = options.okText || i18n('ok');
@@ -27,18 +28,22 @@
         render_attributes: function() {
             return {
                 message: this.message,
-                showCancel: Boolean(this.reject),
+                showCancel: !this.hideCancel,
                 cancel: this.cancelText,
                 ok: this.okText
             };
         },
         ok: function() {
             this.remove();
-            this.resolve();
+            if (this.resolve) {
+                this.resolve();
+            }
         },
         cancel: function() {
             this.remove();
-            this.reject();
+            if (this.reject) {
+                this.reject();
+            }
         },
         onKeyup: function(event) {
             if (event.key === 'Escape' || event.key === 'Esc') {
diff --git a/js/views/message_detail_view.js b/js/views/message_detail_view.js
index 46240e5f9..6dade8364 100644
--- a/js/views/message_detail_view.js
+++ b/js/views/message_detail_view.js
@@ -96,11 +96,11 @@
             var dialog = new Whisper.ConfirmationDialogView({
                 message: i18n('deleteWarning'),
                 okText: i18n('delete'),
+                hideCancel: true,
                 resolve: function() {
                     this.model.destroy();
                     this.resetPanel();
-                }.bind(this),
-                reject: function() {}
+                }.bind(this)
             });
 
             this.$el.prepend(dialog.el);