Index: theme.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/theme.inc,v retrieving revision 1.390 diff -u -r1.390 theme.inc --- theme.inc 8 Oct 2007 14:15:09 -0000 1.390 +++ theme.inc 19 Oct 2007 12:56:25 -0000 @@ -766,10 +766,12 @@ // templates separately from checking for patterns. $files = drupal_system_listing($regex, $path, 'name', 0); foreach ($files as $template => $file) { - // Chop off the extension. We do it this way because $template will - // have one extension chopped off, but there might be more than one, - // such as with .tpl.php - $template = substr($template, 0, strpos($template, '.')); + // Chop off the remaining extensions if there are any. $template already + // has the rightmost extension removed, but there might still be more, + // such as with .tpl.php, which still has .tpl in $template at this point. + if (($pos = strpos($template, '.')) !== FALSE) { + $template = substr($template, 0, $pos); + } // Transform - in filenames to _ to match function naming scheme // for the purposes of searching. $hook = strtr($template, '-', '_');