Index: wp-includes/category-template.php
===================================================================
--- wp-includes/category-template.php	(revision 9549)
+++ wp-includes/category-template.php	(working copy)
@@ -554,7 +554,7 @@
 	$defaults = array(
 		'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
 		'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
-		'exclude' => '', 'include' => '', 'link' => 'view'
+		'exclude' => '', 'include' => '', 'link' => 'view', 'echo' => 1
 	);
 	$args = wp_parse_args( $args, $defaults );
 
@@ -579,7 +579,7 @@
 
 	$return = apply_filters( 'wp_tag_cloud', $return, $args );
 
-	if ( 'array' == $args['format'] )
+	if ( 'array' == $args['format'] || empty($args['echo']) )
 		return $return;
 
 	echo $return;

