Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.822
diff -u -p -r1.822 comment.module
--- modules/comment/comment.module	26 Dec 2009 16:50:08 -0000	1.822
+++ modules/comment/comment.module	3 Jan 2010 10:36:10 -0000
@@ -292,6 +292,9 @@ function comment_permission() {
     'post comments without approval' => array(
       'title' => t('Post comments without approval'),
     ),
+    'edit own comments' => array(
+      'title' => t('Edit own comments'),
+    ),
   );
 }
 
@@ -1256,7 +1259,7 @@ function comment_access($op, $comment) {
   global $user;
 
   if ($op == 'edit') {
-    return ($user->uid && $user->uid == $comment->uid && comment_num_replies($comment->cid) == 0) || user_access('administer comments');
+    return ($user->uid && $user->uid == $comment->uid && user_access('edit own comments')) || user_access('administer comments');
   }
 }
 
@@ -1544,27 +1547,6 @@ class CommentController extends DrupalDe
 }
 
 /**
- * Get replies count for a comment.
- *
- * @param $pid
- *   The comment id.
- * @return
- *   The replies count.
- */
-function comment_num_replies($pid) {
-  $cache = &drupal_static(__FUNCTION__, array());
-
-  if (!isset($cache[$pid])) {
-    $cache[$pid] = db_query('SELECT COUNT(cid) FROM {comment} WHERE pid = :pid AND status = :status', array(
-      ':pid' => $pid,
-      ':status' => COMMENT_PUBLISHED,
-    ))->fetchField();
-  }
-
-  return $cache[$pid];
-}
-
-/**
  * Get number of new comments for current user and specified node.
  *
  * @param $nid
Index: modules/comment/comment.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.test,v
retrieving revision 1.59
diff -u -p -r1.59 comment.test
--- modules/comment/comment.test	16 Dec 2009 19:53:53 -0000	1.59
+++ modules/comment/comment.test	3 Jan 2010 10:36:10 -0000
@@ -10,7 +10,7 @@ class CommentHelperCase extends DrupalWe
     parent::setUp('comment', 'search');
     // Create users and test node.
     $this->admin_user = $this->drupalCreateUser(array('administer content types', 'administer comments', 'administer blocks'));
-    $this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content'));
+    $this->web_user = $this->drupalCreateUser(array('access comments', 'post comments', 'create article content', 'edit own comments'));
     $this->node = $this->drupalCreateNode(array('type' => 'article', 'promote' => 1, 'uid' => $this->web_user->uid));
   }
 
