Index: wp-includes/comment-template.php
===================================================================
--- wp-includes/comment-template.php	(revision 21573)
+++ wp-includes/comment-template.php	(working copy)
@@ -1420,8 +1420,8 @@
 	$comment_alt = $comment_thread_alt = 0;
 	$comment_depth = 1;
 
-	$defaults = array('walker' => null, 'max_depth' => '', 'style' => 'ul', 'callback' => null, 'end-callback' => null, 'type' => 'all',
-		'page' => '', 'per_page' => '', 'avatar_size' => 32, 'reverse_top_level' => null, 'reverse_children' => '');
+	$defaults = array( 'walker' => null, 'max_depth' => '', 'style' => 'ul', 'callback' => null, 'end-callback' => null, 'type' => 'all',
+		'page' => '', 'per_page' => '', 'avatar_size' => 32, 'reverse_top_level' => null, 'reverse_children' => '', 'echo' => 1 );
 
 	$r = wp_parse_args( $args, $defaults );
 
@@ -1488,11 +1488,19 @@
 
 	if ( empty($walker) )
 		$walker = new Walker_Comment;
-
-	$walker->paged_walk($_comments, $max_depth, $page, $per_page, $r);
+	
+	ob_start();
+	$walker->paged_walk( $_comments, $max_depth, $page, $per_page, $r );
+	$output = ob_get_clean();
+	
 	$wp_query->max_num_comment_pages = $walker->max_pages;
 
 	$in_comment_loop = false;
+	
+	if ( $r['echo'] )
+		echo $output;
+	else
+		return $output;	
 }
 
 /**
