Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.626
diff -u -p -r1.626 theme.inc
--- includes/theme.inc	11 Dec 2010 02:06:25 -0000	1.626
+++ includes/theme.inc	14 Dec 2010 04:00:22 -0000
@@ -2365,7 +2365,19 @@ function theme_get_suggestions($args, $b
   $prefix = $base;
   foreach ($args as $arg) {
     // Remove slashes or null per SA-CORE-2009-003.
-    $arg = str_replace(array("/", "\\", "\0"), '', $arg);
+    //
+    // Change - (hyphen) to _ (underscore)
+    // When we discover templates in @see drupal_find_theme_templates
+    // hyphens (-) are converted to underscores (_) before the theme hook
+    // is registered. We do this because the hyphens used for delimiters
+    // in hook suggestions cannot be used in the function names of the
+    // associated preprocess functions. Any page templates designed to be used
+    // on paths that contain a hyphen are also registered with these hyphens
+    // converted to underscores so here we must convert any hyphens in path
+    // arguments to underscores here before fetching theme hook suggestions
+    // to ensure the templates are appropriately recognised
+    // @see http://drupal.org/node/992376
+    $arg = str_replace(array("/", "\\", "\0", '-'), array('', '', '', '_'), $arg);
     // The percent acts as a wildcard for numeric arguments since
     // asterisks are not valid filename characters on many filesystems.
     if (is_numeric($arg)) {