Index: modules/block/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.module,v
retrieving revision 1.435
diff -u -p -r1.435 block.module
--- modules/block/block.module	23 Nov 2010 16:12:15 -0000	1.435
+++ modules/block/block.module	12 Jan 2011 22:52:53 -0000
@@ -944,7 +944,16 @@ function template_preprocess_block(&$var
 
   $variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->region;
   $variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->module;
-  $variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->module . '__' . $variables['block']->delta;
+  // 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
+  // theme templates designed to be used on block deltas that contain a hyphen
+  // are also registered with these hyphens converted to underscores so here
+  // we must convert any hyphens in block deltas to underscores before fetching
+  // theme hook suggestions to ensure the templates are appropriately
+  // recognized.
+  $variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->module . '__' . str_replace('-', '_', $variables['block']->delta);
 
   // Create a valid HTML ID and make sure it is unique.
   $variables['block_html_id'] = drupal_html_id('block-' . $variables['block']->module . '-' . $variables['block']->delta);
