diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 1fb88a60a8ff18f1563110db3b00ed2bf674d908..c6516519b229f048a94678228da4d8fd701b04d1 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -2064,16 +2064,21 @@ function comment_form_submit($form, &$form_state) {
     else {
       drupal_set_message(t('Your comment has been posted.'));
     }
-    $redirect = array('comment/' . $comment->cid, array(), 'comment-' . $comment->cid);
+    $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);
   }
   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 are commenting on.
+    $redirect = 'node/' . $node->nid;
   }
-
-  // Redirect the user to the node they're commenting on.
   unset($form_state['rebuild']);
   $form_state['redirect'] = $redirect;
 }
diff --git a/modules/comment/comment.test b/modules/comment/comment.test
index 3ba6b6717e0007704403cb2ae310f0ca734e81cf..bd835680cd069b30f9c10c6402a9f34d49d377c0 100644
--- a/modules/comment/comment.test
+++ b/modules/comment/comment.test
@@ -46,7 +46,7 @@ class CommentHelperCase extends DrupalWebTestCase {
     $this->drupalPost(NULL, $edit, t('Save'));
     $match = array();
     // Get comment ID
-    preg_match('/#comment-([^"]+)/', $this->getURL(), $match);
+    preg_match('/#comment-([0-9]+)/', $this->getURL(), $match);
 
     // Get comment.
     if ($contact !== TRUE) { // If true then attempting to find error message.