diff --git a/misc/machine-name.js b/misc/machine-name.js
index 2691c3b..b24daba 100644
--- a/misc/machine-name.js
+++ b/misc/machine-name.js
@@ -111,8 +111,14 @@ Drupal.behaviors.machineName = {
    *   The transliterated source string.
    */
   transliterate: function (source, settings) {
+    
     var rx = new RegExp(settings.replace_pattern, 'g');
+    if(settings.prefix){
+      return settings.prefix + "-" + source.toLowerCase().replace(rx, settings.replace).substr(0, settings.maxlength);
+    }
+    else{
     return source.toLowerCase().replace(rx, settings.replace).substr(0, settings.maxlength);
+    }
   }
 };
 
diff --git a/modules/menu/menu.admin.inc b/modules/menu/menu.admin.inc
index d9b98cc..c0df697 100644
--- a/modules/menu/menu.admin.inc
+++ b/modules/menu/menu.admin.inc
@@ -456,6 +456,7 @@ function menu_edit_menu($form, &$form_state, $type, $menu = array()) {
       'label' => t('URL path'),
       'replace_pattern' => '[^a-z0-9-]+',
       'replace' => '-',
+      'prefix' => 'menu',
     ),
     // A menu's machine name cannot be changed.
     '#disabled' => !empty($menu['old_name']) || isset($system_menus[$menu['menu_name']]),
@@ -556,8 +557,6 @@ function menu_delete_menu_confirm_submit($form, &$form_state) {
  * @see form_validate_machine_name()
  */
 function menu_edit_menu_name_exists($value) {
-  // 'menu-' is added to the menu name to avoid name-space conflicts.
-  $value = 'menu-' . $value;
   $custom_exists = db_query_range('SELECT 1 FROM {menu_custom} WHERE menu_name = :menu', 0, 1, array(':menu' => $value))->fetchField();
   $link_exists = db_query_range("SELECT 1 FROM {menu_links} WHERE menu_name = :menu", 0, 1, array(':menu' => $value))->fetchField();
 
