diff --git wp-admin/admin-ajax.php wp-admin/admin-ajax.php
index d2a8d4d..e3caf71 100644
--- wp-admin/admin-ajax.php
+++ wp-admin/admin-ajax.php
@@ -50,6 +50,19 @@ if ( ! is_user_logged_in() ) {
 
 if ( isset( $_GET['action'] ) ) :
 switch ( $action = $_GET['action'] ) :
+case 'recent-comments-refill' :
+	check_ajax_referer( 'recent-comments-refill' );
+
+	// comment river for Dashboard Recent Comment
+	require_once( ABSPATH . 'wp-admin/includes/dashboard.php' );
+
+	ob_start();
+	wp_dashboard_recent_comments( true );
+	$rows = ob_get_clean();
+
+	$response = array( 'rows' => $rows );
+	die( json_encode( $response ) );
+	exit;
 case 'fetch-list' :
 
 	$list_class = $_GET['list_args']['class'];
@@ -66,7 +79,7 @@ case 'fetch-list' :
 	$wp_list_table = _get_list_table( $list_class );
 	if ( ! $wp_list_table )
 		die( '0' );
-
+		
 	if ( ! $wp_list_table->ajax_user_can() )
 		die( '-1' );
 
diff --git wp-admin/includes/dashboard.php wp-admin/includes/dashboard.php
index 8f937f3..456d3e6 100644
--- wp-admin/includes/dashboard.php
+++ wp-admin/includes/dashboard.php
@@ -593,7 +593,7 @@ function wp_dashboard_recent_drafts( $drafts = false ) {
  *
  * @since 2.5.0
  */
-function wp_dashboard_recent_comments() {
+function wp_dashboard_recent_comments( $refill = false ) {
 	global $wpdb;
 
 	if ( current_user_can('edit_posts') )
@@ -604,47 +604,74 @@ function wp_dashboard_recent_comments() {
 	// Select all comment types and filter out spam later for better query performance.
 	$comments = array();
 	$start = 0;
-
 	$widgets = get_option( 'dashboard_widget_options' );
-	$total_items = isset( $widgets['dashboard_recent_comments'] ) && isset( $widgets['dashboard_recent_comments']['items'] )
+	$comments_shown = isset( $widgets['dashboard_recent_comments'] ) && isset( $widgets['dashboard_recent_comments']['items'] )
 		? absint( $widgets['dashboard_recent_comments']['items'] ) : 5;
+	
+	if ( $refill ) {
+		$total_items = 1; // only needs to fetch 1 to refill the river
+		$offset = $comments_shown + 2; // comments being shown plus 3 in the extra list minus 1 just deleted / spammed
+	} else {
+		$total_items = $comments_shown + 3; // extra items for the river
+	}
 
-	while ( count( $comments ) < 5 && $possible = $wpdb->get_results( "SELECT * FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_ID = p.ID WHERE p.post_status != 'trash' ORDER BY c.comment_date_gmt DESC LIMIT $start, 50" ) ) {
+	while ( count( $comments ) < $total_items && $possible = $wpdb->get_results( "SELECT * FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_ID = p.ID WHERE p.post_status != 'trash' ORDER BY c.comment_date_gmt DESC LIMIT $start, 50" ) ) {
 
 		foreach ( $possible as $comment ) {
 			if ( count( $comments ) >= $total_items )
 				break;
-			if ( in_array( $comment->comment_approved, $allowed_states ) && current_user_can( 'read_post', $comment->comment_post_ID ) )
+			if ( in_array( $comment->comment_approved, $allowed_states ) && current_user_can( 'read_post', $comment->comment_post_ID ) ) {
+				// skip if we're refilling, and this comment is already shown
+				if ( $refill && $offset > 0 ) {
+					$offset --;
+					continue;
+				}
+				
 				$comments[] = $comment;
+			}
 		}
 
 		$start = $start + 50;
 	}
 
 	if ( $comments ) :
+		if ( $refill ) :
+			_wp_dashboard_recent_comments_row( $comments[0] );
+		else : // $refill
 ?>
-
-		<div id="the-comment-list" class="list:comment">
+			<div id="the-comment-list" class="list:comment">
 <?php
-		foreach ( $comments as $comment )
-			_wp_dashboard_recent_comments_row( $comment );
+			$i = 0;
+			while ( $i < $comments_shown && $i < count( $comments ) ) {
+				_wp_dashboard_recent_comments_row( $comments[$i] );
+				$i++;
+			}
 ?>
 
-		</div>
+			</div>
+		
+			<div id="the-extra-comment-list" class="list:comment" style="display:none">
+				<?php
+					while ( $i < $total_items && $i < count( $comments ) ) {
+						_wp_dashboard_recent_comments_row( $comments[$i] );
+						$i++;
+					}
+				?>
+			</div>
 
 <?php
-		if ( current_user_can('edit_posts') ) { ?>
-			<p class="textright"><a href="edit-comments.php" class="button"><?php _e('View all'); ?></a></p>
+			if ( current_user_can('edit_posts') ) { ?>
+				<p class="textright"><a href="edit-comments.php" class="button"><?php _e('View all'); ?></a></p>
 <?php	}
 
-		wp_comment_reply( -1, false, 'dashboard', false );
-		wp_comment_trashnotice();
-
-	else :
+			wp_comment_reply( -1, false, 'dashboard', false );
+			wp_comment_trashnotice();
+		endif; // $refill
+	else :// $comments
+		if ( $refill )
+			return FALSE;
 ?>
-
-	<p><?php _e( 'No comments yet.' ); ?></p>
-
+		<p><?php _e( 'No comments yet.' ); ?></p>
 <?php
 	endif; // $comments;
 }
diff --git wp-admin/index.php wp-admin/index.php
index 748141e..ac3149a 100644
--- wp-admin/index.php
+++ wp-admin/index.php
@@ -15,6 +15,7 @@ require_once(ABSPATH . 'wp-admin/includes/dashboard.php');
 wp_dashboard_setup();
 
 wp_enqueue_script( 'dashboard' );
+wp_localize_script( 'dashboard', 'recentCommentsWidget', array( 'nonce' => wp_create_nonce( 'recent-comments-refill' ) ) );
 wp_enqueue_script( 'plugin-install' );
 wp_enqueue_script( 'media-upload' );
 wp_admin_css( 'dashboard' );
diff --git wp-admin/js/edit-comments.dev.js wp-admin/js/edit-comments.dev.js
index fbadeba..e178048 100644
--- wp-admin/js/edit-comments.dev.js
+++ wp-admin/js/edit-comments.dev.js
@@ -217,37 +217,43 @@ setCommentsList = function() {
 
 	var refillTheExtraList = function(ev) {
 		// var args = $.query.get(), total_pages = listTable.get_total_pages(), per_page = $('input[name=_per_page]', '#comments-form').val(), r;
-		var args = $.query.get(), total_pages = $('.total-pages').text(), per_page = $('input[name=_per_page]', '#comments-form').val(), r;
-		
-		if (! args.paged)
-			args.paged = 1;
-		
-		if (args.paged > total_pages) {
-			return;
-		}
+		var args, total_pages = $('.total-pages').text(), per_page = $('input[name=_per_page]', '#comments-form').val(), r;
 
-		if (ev) {
-			theExtraList.empty();
-			args.number = Math.min(8, per_page); // see WP_Comments_List_Table::prepare_items() @ class-wp-comments-list-table.php
+		if (pagenow == 'dashboard') {
+			args = {
+				action : 'recent-comments-refill',
+				_ajax_nonce : recentCommentsWidget.nonce
+			};
 		} else {
-			args.number = 1;
-			args.offset = Math.min(8, per_page) - 1; // fetch only the next item on the extra list
+			args = $.query.get();
+			if (! args.paged)
+				args.paged = 1;
+				
+			if (total_pages && args.paged > total_pages)
+				return;
+				
+			if (ev) {
+				theExtraList.empty();
+				args.number = Math.min(8, per_page); // see WP_Comments_List_Table::prepare_items() @ class-wp-comments-list-table.php
+			} else {
+				args.number = 1;
+				args.offset = Math.min(8, per_page) - 1; // fetch only the next item on the extra list
+			}
+			
+			args.paged ++;
+			args.no_placeholder = true;
+			
+			// $.query.get() needs some correction to be sent into an ajax request
+			if ( true === args.comment_type )
+				args.comment_type = '';
+
+			args = $.extend(args, {
+				'action': 'fetch-list',
+				'list_args': list_args,
+				'_ajax_fetch_list_nonce': $('#_ajax_fetch_list_nonce').val()
+			});
 		}
 
-		args.no_placeholder = true;
-
-		args.paged ++;
-
-		// $.query.get() needs some correction to be sent into an ajax request
-		if ( true === args.comment_type )
-			args.comment_type = '';
-
-		args = $.extend(args, {
-			'action': 'fetch-list',
-			'list_args': list_args,
-			'_ajax_fetch_list_nonce': $('#_ajax_fetch_list_nonce').val()
-		});
-
 		$.ajax({
 			url: ajaxurl,
 			global: false,
