diff --git a/core/includes/common.inc b/core/includes/common.inc
index c9077d7..a5870eb 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -2118,7 +2118,7 @@ function url($path = NULL, array $options = array()) {
   }
 
   // The special path '<front>' links to the default front page.
-  if ($path == '<front>') {
+  if ($path == '<front>' || $path == '<none>') {
     $path = '';
   }
   elseif (!empty($path) && !$options['alias']) {
diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index 006730e..44ebc35 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -1581,7 +1581,13 @@ function theme_menu_link(array $variables) {
   if ($element['#below']) {
     $sub_menu = drupal_render($element['#below']);
   }
-  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
+
+  if ($element['#href'] != '<none>') {
+    $output = l($element['#title'], $element['#href'], $element['#localized_options']);
+  }
+  else {
+    $output = '<span>' . $element['#title'] . '</span>';
+  }
   return '<li' . new Attribute($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
 }
 
diff --git a/core/includes/path.inc b/core/includes/path.inc
index 6e2c19e..6c75155 100644
--- a/core/includes/path.inc
+++ b/core/includes/path.inc
@@ -197,7 +197,7 @@ function drupal_valid_path($path, $dynamic_allowed = FALSE) {
   global $menu_admin;
   // We indicate that a menu administrator is running the menu access check.
   $menu_admin = TRUE;
-  if ($path == '<front>' || url_is_external($path)) {
+  if ($path == '<front>' || $path == '<none>' || url_is_external($path)) {
     $item = array('access' => TRUE);
   }
   elseif ($dynamic_allowed && preg_match('/\/\%/', $path)) {
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 8172073..a24334e 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1801,7 +1801,13 @@ function theme_links($variables) {
         }
         else {
           // Pass in $link as $options, they share the same keys.
-          $item = l($link['title'], $link['href'], $link);
+         if ($link['href'] != '<none>') {
+           $item = l($link['title'], $link['href'], $link);
+         }
+         else {
+           $item = '<span>' . $link['title'] . '</span>';
+         }
+
         }
       }
       // Handle title-only text items.
diff --git a/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkFormController.php b/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkFormController.php
index 9506602..845fdd0 100644
--- a/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkFormController.php
+++ b/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkFormController.php
@@ -62,7 +62,7 @@ public function form(array $form, array &$form_state, EntityInterface $menu_link
         '#title' => t('Path'),
         '#maxlength' => 255,
         '#default_value' => $path,
-        '#description' => t('The path for this menu link. This can be an internal Drupal path such as %add-node or an external URL such as %drupal. Enter %front to link to the front page.', array('%front' => '<front>', '%add-node' => 'node/add', '%drupal' => 'http://drupal.org')),
+        '#description' => t('The path for this menu link. This can be an internal Drupal path such as %add-node or an external URL such as %drupal. Enter %front to link to the front page. Enter %none for unlinked text.', array('%front' => '<front>', '%add-node' => 'node/add', '%drupal' => 'http://drupal.org', '%none' => '<none>')),
         '#required' => TRUE,
       );
     }
diff --git a/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php b/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php
index 865b8ed..f7f26d6 100644
--- a/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php
+++ b/core/modules/menu_link/lib/Drupal/menu_link/MenuLinkStorageController.php
@@ -143,7 +143,7 @@ public function save(EntityInterface $entity) {
   protected function preSave(EntityInterface $entity) {
     // This is the easiest way to handle the unique internal path '<front>',
     // since a path marked as external does not need to match a router path.
-    $entity->external = (url_is_external($entity->link_path) || $entity->link_path == '<front>') ? 1 : 0;
+    $entity->external = (url_is_external($entity->link_path) || $entity->link_path == '<front>' || $entity->link_path == '<none>') ? 1 : 0;
 
     // Try to find a parent link. If found, assign it and derive its menu.
     $parent_candidates = !empty($entity->parentCandidates) ? $entity->parentCandidates : array();
