diff --git a/wp-includes/functions.php b/wp-includes/functions.php
index b658337..0825811 100644
--- a/wp-includes/functions.php
+++ b/wp-includes/functions.php
@@ -3175,8 +3175,19 @@ function wp_list_filter( $list, $args = array(), $operator = 'AND' ) {
 
 		$matched = 0;
 		foreach ( $args as $m_key => $m_value ) {
-			if ( array_key_exists( $m_key, $to_match ) && $m_value == $to_match[ $m_key ] )
-				$matched++;
+			if ( array_key_exists( $m_key, $to_match ) ) {
+				if ( is_array( $to_match[ $m_key ] ) ) {
+					if ( is_array( $m_value ) && array_intersect( $m_value, $to_match[ $m_key ] ) ) {
+						$matched++;
+					}
+					elseif ( in_array( $m_value, $to_match[ $m_key ] ) ) {
+						$matched++;
+					}
+				}
+				elseif ( $m_value == $to_match[ $m_key ] ) {
+					$matched++;
+				}
+			}
 		}
 
 		if ( ( 'AND' == $operator && $matched == $count )
