Index: wp-includes/template.php
===================================================================
--- wp-includes/template.php	(revision 24887)
+++ wp-includes/template.php	(working copy)
@@ -366,16 +366,19 @@
  * @return string The template filename if one is located.
  */
 function locate_template($template_names, $load = false, $require_once = true ) {
-	$located = '';
-	foreach ( (array) $template_names as $template_name ) {
-		if ( !$template_name )
-			continue;
-		if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
-			$located = STYLESHEETPATH . '/' . $template_name;
-			break;
-		} else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
-			$located = TEMPLATEPATH . '/' . $template_name;
-			break;
+	$located = apply_filters( 'locate_template_override', '', $template_names, $load, $require_once );
+
+	if ( empty( $located ) ) {
+		foreach ( (array) $template_names as $template_name ) {
+			if ( !$template_name )
+				continue;
+			if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
+				$located = STYLESHEETPATH . '/' . $template_name;
+				break;
+			} else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
+				$located = TEMPLATEPATH . '/' . $template_name;
+				break;
+			}
 		}
 	}
 
