diff --git a/modules/comment/comment.pages.inc b/modules/comment/comment.pages.inc
index 7e88bff..aab3efa 100644
--- a/modules/comment/comment.pages.inc
+++ b/modules/comment/comment.pages.inc
@@ -109,10 +109,14 @@ function comment_approve($cid) {
     return MENU_ACCESS_DENIED;
   }
   if ($comment = comment_load($cid)) {
-    $comment->status = COMMENT_PUBLISHED;
-    comment_save($comment);
-
-    drupal_set_message(t('Comment approved.'));
+    if ($comment->status == COMMENT_PUBLISHED) {
+      drupal_set_message(t('The comment is already published.'));
+    }
+    else {
+      $comment->status = COMMENT_PUBLISHED;
+      comment_save($comment);
+      drupal_set_message(t('Comment approved.'));
+    }
     drupal_goto('node/' . $comment->nid);
   }
   return MENU_NOT_FOUND;
