Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 15771)
+++ wp-includes/query.php	(working copy)
@@ -2193,6 +2193,11 @@
 			$distinct	= apply_filters_ref_array( 'posts_distinct',	array( $distinct, &$this ) );
 			$limits		= apply_filters_ref_array( 'post_limits',		array( $limits, &$this ) );
 			$fields		= apply_filters_ref_array( 'posts_fields',		array( $fields, &$this ) );
+
+			$pieces     = array( 'distinct', 'fields', 'where', 'join', 'groupby', 'orderby', 'limits' );
+			$clauses    = apply_filters_ref_array( 'posts_clauses',     array( compact( $pieces ), &$this ) );
+			foreach ( $pieces as $piece )
+				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : ''; 
 		}
 
 		// Announce current selection parameters.  For use by caching plugins.
@@ -2207,6 +2212,10 @@
 			$distinct	= apply_filters_ref_array( 'posts_distinct_request',	array( $distinct, &$this ) );
 			$fields		= apply_filters_ref_array( 'posts_fields_request',		array( $fields, &$this ) );
 			$limits		= apply_filters_ref_array( 'post_limits_request',		array( $limits, &$this ) );
+
+			$clauses    = apply_filters_ref_array( 'posts_clauses_request',     array( compact( $pieces ), &$this ) );
+			foreach ( $pieces as $piece )
+				$$piece = isset( $clauses[ $piece ] ) ? $clauses[ $piece ] : ''; 
 		}
 
 		if ( ! empty($groupby) )
