diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 2793ea3..319df8e 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -268,6 +268,14 @@ function comment_menu() {
     'file' => 'comment.pages.inc',
     'weight' => 1,
   );
+  $items['comment/%/disapprove'] = array(
+    'title' => 'Disapprove',
+    'page callback' => 'comment_disapprove',
+    'page arguments' => array(1),
+    'access arguments' => array('administer comments'),
+    'file' => 'comment.pages.inc',
+    'weight' => 1,
+  );
   $items['comment/%/delete'] = array(
     'title' => 'Delete',
     'page callback' => 'comment_confirm_delete_page',
@@ -1053,6 +1061,14 @@ function comment_links($comment, $node) {
           'query' => array('token' => drupal_get_token("comment/$comment->cid/approve")),
         );
       }
+      else {
+        $links['comment-disapprove'] = array(
+          'title' => t('disapprove'),
+          'href' => "comment/$comment->cid/disapprove",
+          'html' => TRUE,
+          'query' => array('token' => drupal_get_token("comment/$comment->cid/disapprove")),
+        );
+      }
     }
     elseif (user_access('post comments')) {
       if (comment_access('edit', $comment)) {
diff --git a/modules/comment/comment.pages.inc b/modules/comment/comment.pages.inc
index 7e88bff..1b2c6ca 100644
--- a/modules/comment/comment.pages.inc
+++ b/modules/comment/comment.pages.inc
@@ -117,3 +117,24 @@ function comment_approve($cid) {
   }
   return MENU_NOT_FOUND;
 }
+
+
+/**
+ * Menu callback; unpublish specified comment.
+ *
+ * @param $cid
+ *   A comment identifier.
+ */
+function comment_disapprove($cid) {
+  if (!isset($_GET['token']) || !drupal_valid_token($_GET['token'], "comment/$cid/disapprove")) {
+    return MENU_ACCESS_DENIED;
+  }
+  if ($comment = comment_load($cid)) {
+    $comment->status = COMMENT_NOT_PUBLISHED;
+    comment_save($comment);
+
+    drupal_set_message(t('Comment disapproved.'));
+    drupal_goto('node/' . $comment->nid);
+  }
+  return MENU_NOT_FOUND;
+}
+
