Index: wp-includes/taxonomy.php
===================================================================
--- wp-includes/taxonomy.php	(revision 23306)
+++ wp-includes/taxonomy.php	(working copy)
@@ -1252,33 +1252,6 @@
 		return $cache;
 	}
 
-	$_orderby = strtolower($orderby);
-	if ( 'count' == $_orderby )
-		$orderby = 'tt.count';
-	else if ( 'name' == $_orderby )
-		$orderby = 't.name';
-	else if ( 'slug' == $_orderby )
-		$orderby = 't.slug';
-	else if ( 'term_group' == $_orderby )
-		$orderby = 't.term_group';
-	else if ( 'none' == $_orderby )
-		$orderby = '';
-	elseif ( empty($_orderby) || 'id' == $_orderby )
-		$orderby = 't.term_id';
-	else
-		$orderby = 't.name';
-
-	$orderby = apply_filters( 'get_terms_orderby', $orderby, $args );
-
-	if ( !empty($orderby) )
-		$orderby = "ORDER BY $orderby";
-	else
-		$order = '';
-
-	$order = strtoupper( $order );
-	if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) )
-		$order = 'ASC';
-
 	$where = "tt.taxonomy IN ('" . implode("', '", $taxonomies) . "')";
 	$inclusions = '';
 	if ( !empty($include) ) {
@@ -1359,7 +1332,38 @@
 		$search = like_escape($search);
 		$where .= $wpdb->prepare( " AND (t.name LIKE %s)", '%' . $search . '%');
 	}
+	
+	$_orderby = strtolower($orderby);
+	if ( 'count' == $_orderby )
+		$orderby = 'tt.count';
+	else if ( 'name' == $_orderby )
+		$orderby = 't.name';
+	else if ( 'slug' == $_orderby )
+		$orderby = 't.slug';
+	else if ( 'include' == $_orderby && ! empty( $include ) ) {
+		$include = implode(',', array_map( 'absint', $include ));
+		$orderby = "FIELD( t.term_id, $include )";
+	}
+	else if ( 'term_group' == $_orderby )
+		$orderby = 't.term_group';
+	else if ( 'none' == $_orderby )
+		$orderby = '';
+	elseif ( empty($_orderby) || 'id' == $_orderby )
+		$orderby = 't.term_id';
+	else
+		$orderby = 't.name';
 
+	$orderby = apply_filters( 'get_terms_orderby', $orderby, $args );
+
+	if ( !empty($orderby) )
+		$orderby = "ORDER BY $orderby";
+	else
+		$order = '';
+
+	$order = strtoupper( $order );
+	if ( '' !== $order && !in_array( $order, array( 'ASC', 'DESC' ) ) )
+		$order = 'ASC';
+
 	$selects = array();
 	switch ( $fields ) {
 		case 'all':
