diff --git a/modules/comment/comment.pages.inc b/modules/comment/comment.pages.inc
index 7e88bff..26738f2 100644
--- a/modules/comment/comment.pages.inc
+++ b/modules/comment/comment.pages.inc
@@ -47,15 +47,16 @@ function comment_reply($node, $pid = NULL) {
     if ($pid) {
       if (user_access('access comments')) {
         // Load the comment whose cid = $pid
-        $comment = db_query('SELECT c.*, u.uid, u.name AS registered_name, u.signature, u.signature_format, u.picture, u.data FROM {comment} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = :cid AND c.status = :status', array(
+        $comment = db_query('SELECT c.*, u.uid, u.name AS registered_name, u.signature, u.signature_format, u.picture, u.data FROM {comment} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = :cid', array(
           ':cid' => $pid,
-          ':status' => COMMENT_PUBLISHED,
         ))->fetchObject();
         if ($comment) {
-          // If that comment exists, make sure that the current comment and the
-          // parent comment both belong to the same parent node.
-          if ($comment->nid != $node->nid) {
-            // Attempting to reply to a comment not belonging to the current nid.
+          // Verify that the current and parent comment both belong to the same
+          // parent node and that the comment is either published or the user
+          // can administer comments.
+          if ($comment->nid != $node->nid || ($comment->status != COMMENT_PUBLISHED && !user_access('administer comments'))) {
+            // Attempting to reply to a comment not belonging to the current nid
+            // or to an unpublished comment.
             drupal_set_message(t('The comment you are replying to does not exist.'), 'error');
             drupal_goto("node/$node->nid");
           }
