=== modified file 'includes/theme.inc'
--- includes/theme.inc	2010-10-30 03:57:20 +0000
+++ includes/theme.inc	2010-11-15 06:16:01 +0000
@@ -738,6 +738,8 @@ function list_themes($refresh = FALSE) {
 function theme($hook, $variables = array()) {
   static $hooks = NULL;
 
+  // Save the original hook passed in.
+  $theme_hook = $hook;
   // If called before all modules are loaded, we do not necessarily have a full
   // theme registry to work with, and therefore cannot process the theme
   // request properly. See also _theme_load_registry().
@@ -819,6 +821,8 @@ function theme($hook, $variables = array
   elseif (!empty($info['render element'])) {
     $variables += array($info['render element'] => array());
   }
+  // Pass around the original hook passed in.
+  $variables['theme_hook'] = $theme_hook;
 
   // Invoke the variable processors, if any. The processors may specify
   // alternate suggestions for which hook's template/function to use. If the

