diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 6f6c04b..c45fb56 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -2615,10 +2615,13 @@ function comment_unpublish_action($comment, $context = array()) {
  * @see comment_unpublish_by_keyword_action_submit()
  */
 function comment_unpublish_by_keyword_action($comment, $context) {
+  $node = node_load($comment->nid);
+  comment_build_content($comment, $node);
+  $text = drupal_render($comment->content);
   foreach ($context['keywords'] as $keyword) {
-    $text = drupal_render($comment);
     if (strpos($text, $keyword) !== FALSE) {
       $comment->status = COMMENT_NOT_PUBLISHED;
+      comment_save($comment);
       watchdog('action', 'Unpublished comment %subject.', array('%subject' => $comment->subject));
       break;
     }
