diff --git a/core/modules/menu_ui/src/MenuForm.php b/core/modules/menu_ui/src/MenuForm.php
index 40123d5..c9965a4 100644
--- a/core/modules/menu_ui/src/MenuForm.php
+++ b/core/modules/menu_ui/src/MenuForm.php
@@ -305,7 +305,7 @@ protected function buildOverviewTreeForm($tree, $delta) {
         if ($edit_route) {
           $operations['edit'] += $edit_route;
           // Bring the user back to the menu overview.
-          $operations['edit']['query']['destination'] = $this->entity->url();
+          $operations['edit']['query']['destination'] = $this->entity->getSystemPath();
         }
         else {
           // Fall back to the standard edit link.
@@ -324,7 +324,7 @@ protected function buildOverviewTreeForm($tree, $delta) {
         }
         elseif ($delete_link = $link->getDeleteRoute()) {
           $operations['delete'] = $delete_link;
-          $operations['delete']['query']['destination'] = $this->entity->url();
+          $operations['delete']['query']['destination'] = $this->entity->getSystemPath();
           $operations['delete']['title'] = $this->t('Delete');
         }
         if ($link->isTranslatable()) {
diff --git a/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.php b/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.php
index 9fee161..1e3ecd7 100644
--- a/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.php
+++ b/core/modules/menu_ui/src/Plugin/Menu/LocalAction/MenuLinkAdd.php
@@ -30,7 +30,7 @@ public function getOptions(Request $request) {
       }
       // @todo Use RouteMatch instead of Request.
       //   https://www.drupal.org/node/2294157
-      $options['query']['destination'] = \Drupal::urlGenerator()->generateFromRoute($route_name, $raw_variables);
+      $options['query']['destination'] = \Drupal::urlGenerator()->getPathFromRoute($route_name, $raw_variables);
     }
     return $options;
   }
diff --git a/core/modules/menu_ui/src/Tests/MenuTest.php b/core/modules/menu_ui/src/Tests/MenuTest.php
index ce7fd57..4ccaf72 100644
--- a/core/modules/menu_ui/src/Tests/MenuTest.php
+++ b/core/modules/menu_ui/src/Tests/MenuTest.php
@@ -236,6 +236,25 @@ function deleteCustomMenu() {
    */
   function doMenuTests() {
     $menu_name = $this->menu->id();
+
+    // Test the 'Add link' local action.
+    $this->drupalGet('admin/structure/menu/manage/' . $menu_name);
+    $this->clickLink(t('Add link'));
+    $link_title = $this->randomName();
+    $this->drupalPostForm(NULL, array('url' => '<front>', 'title[0][value]' => $link_title), t('Save'));
+    $this->assertUrl('admin/structure/menu/manage/' . $menu_name);
+    // Test the 'Edit' operation.
+    $this->clickLink(t('Edit'));
+    $this->assertFieldByName('title[0][value]', $link_title);
+    $link_title = $this->randomName();
+    $this->drupalPostForm(NULL, array('title[0][value]' => $link_title), t('Save'));
+    $this->assertUrl('admin/structure/menu/manage/' . $menu_name);
+    // Test the 'Delete' operation.
+    $this->clickLink(t('Delete'));
+    $this->assetRaw(t('Are you sure you want to delete the custom menu link %item?', array('%item' => $link_title)));
+    $this->drupalPostForm(NULL, array(), t('Confirm'));
+    $this->assertUrl('admin/structure/menu/manage/' . $menu_name);
+
     // Add nodes to use as links for menu links.
     $node1 = $this->drupalCreateNode(array('type' => 'article'));
     $node2 = $this->drupalCreateNode(array('type' => 'article'));
