diff --git workflow_ng/workflow_ng/modules/workflow_ng_comment.inc sites/all/modules/workflow_ng/workflow_ng/modules/workflow_ng_comment.inc workflow_ng/workflow_ng/modules/workflow_ng_comment.inc sites/all/modules/workflow_ng/workflow_ng/modules/workflow_ng_comment.inc
index a28a18b..3ce38e4 100644
--- workflow_ng/workflow_ng/modules/workflow_ng_comment.inc sites/all/modules/workflow_ng/workflow_ng/modules/workflow_ng_comment.inc	
+++ workflow_ng/workflow_ng/modules/workflow_ng_comment.inc sites/all/modules/workflow_ng/workflow_ng/modules/workflow_ng_comment.inc	
@@ -27,6 +27,12 @@ function comment_event_info() {
       '#arguments' => workflow_ng_events_hook_comment_arguments('deleted comment'),
       '#redirect' => TRUE,
     ),
+	 'comment_approve' => array(
+      '#label' => t('Comment has been approved'),
+      '#module' => 'Comment',
+      '#arguments' => workflow_ng_events_hook_comment_arguments('approved comment'),
+      '#redirect' => TRUE,
+										),
   );
 }
 
@@ -46,12 +52,42 @@ function workflow_ng_events_hook_comment_arguments($comment_label) {
  * Implementation of hook_comment
  */
 function workflow_ng_comment($comment, $op) {
+  static $old;
+
   if (in_array($op, array('insert', 'update', 'delete'))) {
     if (is_array($comment)) {
       $comment = (object)$comment;
     }
     workflow_ng_invoke_event('comment_'. $op, $comment);
   }
+
+  if ($op == 'validate') {
+	 //This if code is used to determine the comment published state before update $op
+	 $old = array();
+	 $cid = $comment['cid'];
+	 $q = "select status from {comments} where cid=%f";
+	 $old['status'] = db_result(db_query($q,$cid));
+	 $old['cid'] = $cid;
+  }
+  //$op is not 'publish' when comment is  published using comment/edit/<cid> -form
+  elseif ($op == 'update') {
+
+	 $comment = (object)$comment;
+	 if(isset($old['cid']) and $old['cid'] == $comment->cid
+		 and
+		 $comment->status == 0 and $old['status'] == 1
+) {
+
+		workflow_ng_invoke_event('comment_approve', $comment);
+	 }
+
+	 unset($old);
+  }
+  elseif($op == 'publish') {
+	 $comment = (object)$comment;
+	 workflow_ng_invoke_event('comment_approve', $comment);
+  }
+
 }
 
 
