diff --git a/domain_menu_block.module b/domain_menu_block.module
index 90ffddc..6829a07 100644
--- a/domain_menu_block.module
+++ b/domain_menu_block.module
@@ -22,7 +22,7 @@ function domain_menu_block_init() {
   $dmbs = domain_menu_block_load_multiple($base);
   $parent = variable_get('domain_menu_block_parent_menu', '');
   foreach ($base as $name) {
-    $menu = domain_menu_block_menu_name($dmbs[$name], $_domain['machine_name']);
+    $menu = domain_menu_block_menu_name($dmbs[$name], $_domain);
     $menus[$menu] = $menu;
     if ($name == $parent) {
       $parent_menu = "$menu:0";
@@ -121,7 +121,7 @@ function domain_menu_block_block_view($delta) {
   if (empty($dmb)) {
     return;
   }
-  $menu = menu_load(domain_menu_block_menu_name($dmb, $_domain['machine_name']));
+  $menu = menu_load(domain_menu_block_menu_name($dmb, $_domain));
   if (empty($menu)) {
     return;
   }
@@ -361,7 +361,7 @@ function domain_menu_block_delete_list($dmb) {
 function domain_menu_block_menu_list($dmb) {
   $domains = domain_domains();
   foreach ($domains as $domain) {
-    $list[$domain['domain_id']] = domain_menu_block_menu_name($dmb, $domain['machine_name']);
+    $list[$domain['domain_id']] = domain_menu_block_menu_name($dmb, $domain);
   }
   return $list;
 }
@@ -377,8 +377,13 @@ function domain_menu_block_menu_list($dmb) {
  * @return
  *  An md5 hash of a menu / block name.
  */
-function domain_menu_block_menu_name($dmb, $string) {
-  return md5('menu-dmb-' . str_replace('_', '-', $dmb->machine_name . '-' . $string));
+function domain_menu_block_menu_name($dmb, $domain) {
+  $menu_name = md5('menu-dmb-' . str_replace('_', '-', $dmb->machine_name . '-' . $domain['machine_name']));
+  // Give a change to alter the hash. Usefull when working with several
+  // enviorments with different alias for a site. Like dev, staging and
+  // production.
+  drupal_alter('domain_menu_block_menu_name', $menu_name, $dmb, $domain);
+  return $hash;
 }
 
 /**
