diff --git a/wp-includes/category-template.php b/wp-includes/category-template.php
index ff8fb895da..621761efb3 100644
--- a/wp-includes/category-template.php
+++ b/wp-includes/category-template.php
@@ -485,52 +485,57 @@ function wp_list_categories( $args = '' ) {
 		$r['exclude'] = '';
 	}
 
-	if ( !isset( $r['class'] ) )
+	if ( ! isset( $r['class'] ) )
 		$r['class'] = ( 'category' == $r['taxonomy'] ) ? 'categories' : $r['taxonomy'];
 
-	extract( $r );
-
-	if ( !taxonomy_exists($taxonomy) )
+	if ( ! taxonomy_exists( $r['taxonomy'] ) ) {
 		return false;
+	}
+
+	$show_option_all = $r['show_option_all'];
+	$show_option_none = $r['show_option_none'];
 
 	$categories = get_categories( $r );
 
 	$output = '';
-	if ( $title_li && 'list' == $style )
-			$output = '<li class="' . esc_attr( $class ) . '">' . $title_li . '<ul>';
-
+	if ( $r['title_li'] && 'list' == $r['style'] ) {
+		$output = '<li class="' . esc_attr( $r['class'] ) . '">' . $r['title_li'] . '<ul>';
+	}
 	if ( empty( $categories ) ) {
 		if ( ! empty( $show_option_none ) ) {
-			if ( 'list' == $style )
+			if ( 'list' == $r['style'] ) {
 				$output .= '<li class="cat-item-none">' . $show_option_none . '</li>';
-			else
+			} else {
 				$output .= $show_option_none;
+			}
 		}
 	} else {
 		if ( ! empty( $show_option_all ) ) {
 			$posts_page = ( 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) ) ? get_permalink( get_option( 'page_for_posts' ) ) : home_url( '/' );
 			$posts_page = esc_url( $posts_page );
-			if ( 'list' == $style )
+			if ( 'list' == $r['style'] ) {
 				$output .= "<li class='cat-item-all'><a href='$posts_page'>$show_option_all</a></li>";
-			else
+			} else {
 				$output .= "<a href='$posts_page'>$show_option_all</a>";
+			}
 		}
 
 		if ( empty( $r['current_category'] ) && ( is_category() || is_tax() || is_tag() ) ) {
 			$current_term_object = get_queried_object();
-			if ( $current_term_object && $r['taxonomy'] === $current_term_object->taxonomy )
+			if ( $current_term_object && $r['taxonomy'] === $current_term_object->taxonomy ) {
 				$r['current_category'] = get_queried_object_id();
+			}
 		}
 
-		if ( $hierarchical )
+		if ( $r['hierarchical'] ) {
 			$depth = $r['depth'];
-		else
+		} else {
 			$depth = -1; // Flat.
-
+		}
 		$output .= walk_category_tree( $categories, $depth, $r );
 	}
 
-	if ( $title_li && 'list' == $style )
+	if ( $r['title_li'] && 'list' == $r['style'] )
 		$output .= '</ul></li>';
 
 	/**
@@ -541,12 +546,13 @@ function wp_list_categories( $args = '' ) {
 	 * @param string $output HTML output.
 	 * @param array  $args   An array of taxonomy-listing arguments.
 	 */
-	$output = apply_filters( 'wp_list_categories', $output, $args );
+	$html = apply_filters( 'wp_list_categories', $output, $args );
 
-	if ( $echo )
-		echo $output;
-	else
-		return $output;
+	if ( $r['echo'] ) {
+		echo $html;
+	} else {
+		return $html;
+	}
 }
 
 /**