diff --git a/domain_menu_block.module b/domain_menu_block.module
index 90ffddc..8e70d49 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 $menu_name;
 }
 
 /**
@@ -408,7 +413,7 @@ function domain_menu_block_domain_insert($domain, $form_values = array()) {
   foreach ($dmbs as $dmb) {
     if (!empty($dmb->auto_create)) {
       $menu = array(
-        'menu_name' => domain_menu_block_menu_name($dmb, $domain['machine_name']),
+        'menu_name' => domain_menu_block_menu_name($dmb, $domain),
         'title' => t('!base for !sitename', array('!base' => $dmb->base_name, '!sitename' => $domain['sitename'])),
         'description' => t('!description for !sitename', array('!description' => $dmb->description, '!sitename' => $domain['sitename'])),
       );
@@ -429,7 +434,7 @@ function domain_menu_block_domain_delete($domain, $form_values = array()) {
   $dmbs = domain_menu_block_load_multiple();
   foreach ($dmbs as $dmb) {
     if (!empty($dmb->auto_delete)) {
-      $menu_name = domain_menu_block_menu_name($dmb, $domain['machine_name']);
+      $menu_name = domain_menu_block_menu_name($dmb, $domain);
       if ($menu = menu_load($menu_name)) {
         menu_delete($menu);
       }
