diff --git modules/comment/comment.module modules/comment/comment.module
index 3828702..83939a4 100644
--- modules/comment/comment.module
+++ modules/comment/comment.module
@@ -2053,6 +2053,8 @@ function comment_form_submit_build_comment($form, &$form_state) {
 function comment_form_submit($form, &$form_state) {
   $node = node_load($form_state['values']['nid']);
   $comment = comment_form_submit_build_comment($form, $form_state);
+  // Redirect the user to the node they are commenting on.
+  $redirect = 'node/' . $node->nid;
   if (user_access('post comments') && (user_access('administer comments') || $node->comment == COMMENT_NODE_OPEN)) {
     comment_save($comment);
     // Explain the approval queue if necessary.
@@ -2063,17 +2065,20 @@ function comment_form_submit($form, &$form_state) {
     }
     else {
       drupal_set_message(t('Your comment has been posted.'));
+      $query = array();
+      // Find the current display page for this comment.
+      $page = comment_get_display_page($comment->cid, $node->type);
+      if ($page > 0) {
+        $query['page'] = $page;
+      }
+      // Redirect to the newly posted comment.
+      $redirect = array('node/' . $node->nid, $query, 'comment-' . $comment->cid);
     }
-    $redirect = array('comment/' . $comment->cid, array(), 'comment-' . $comment->cid);
   }
   else {
     watchdog('content', 'Comment: unauthorized comment submitted or comment submitted to a closed post %subject.', array('%subject' => $comment->subject), WATCHDOG_WARNING);
     drupal_set_message(t('Comment: unauthorized comment submitted or comment submitted to a closed post %subject.', array('%subject' => $comment->subject)), 'error');
-    $page = comment_new_page_count($node->comment_count, 1, $node);
-    $redirect = array('node/' . $node->nid, $page);
   }
-
-  // Redirect the user to the node they're commenting on.
   unset($form_state['rebuild']);
   $form_state['redirect'] = $redirect;
 }
