diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 6f0df6c..08f667b 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -1588,7 +1588,8 @@ function comment_save($comment) {
       module_invoke_all('comment_insert', $comment);
       module_invoke_all('entity_insert', $comment, 'comment');
     }
-    if ($comment->status == COMMENT_PUBLISHED) {
+    if ((!isset($comment->original) || $comment->original->status != $comment->status) && $comment->status == COMMENT_PUBLISHED) {
+      // Allow modules to respond to the publishing of a comment.
       module_invoke_all('comment_publish', $comment);
     }
     unset($comment->original);
