Index: wp-includes/theme.php
===================================================================
--- wp-includes/theme.php	(revision 15593)
+++ wp-includes/theme.php	(working copy)
@@ -1045,8 +1045,11 @@
 	if ( !is_array($template_names) )
 		return '';
 
+	$template_names = apply_filters( 'locate_template', $template_names, $load, $require_once );
+
 	$located = '';
 	foreach ( $template_names as $template_name ) {
+		$template_name = apply_filters( "locate_template-$template_name", $template_name, $load, $require_once );
 		if ( !$template_name )
 			continue;
 		if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
@@ -1058,6 +1061,8 @@
 		}
 	}
 
+	$located = apply_filters( 'locate_template_located', $located, $template_names, $load, $require_once );
+
 	if ( $load && '' != $located )
 		load_template( $located, $require_once );
 
