diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php
index fa394ae..f82071e 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php
@@ -40,22 +40,12 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
     }
   }
 
-  /**
-   * Get this area's label.
-   */
-  public function label() {
-    if (!isset($this->options['label'])) {
-      return $this->adminLabel();
-    }
-    return $this->options['label'];
-  }
-
   protected function defineOptions() {
     $options = parent::defineOptions();
 
     $this->definition['field'] = !empty($this->definition['field']) ? $this->definition['field'] : '';
     $label = !empty($this->definition['label']) ? $this->definition['label'] : $this->definition['field'];
-    $options['label'] = array('default' => $label, 'translatable' => TRUE);
+    $options['admin_label']['default'] = $label;
     $options['empty'] = array('default' => FALSE, 'bool' => TRUE);
 
     return $options;
@@ -65,7 +55,7 @@ protected function defineOptions() {
    * Provide extra data to the administration form
    */
   public function adminSummary() {
-    return $this->label();
+    return $this->adminLabel();
   }
 
   /**
@@ -74,12 +64,9 @@ public function adminSummary() {
    */
   public function buildOptionsForm(&$form, &$form_state) {
     parent::buildOptionsForm($form, $form_state);
-    $form['label'] = array(
-      '#type' => 'textfield',
-      '#title' => t('Label'),
-      '#default_value' => isset($this->options['label']) ? $this->options['label'] : '',
-      '#description' => t('The label for this area that will be displayed only administratively.'),
-    );
+
+    unset($form['admin_label']['#fieldset']);
+    $form['admin_label']['#weight'] = -1;
 
     if ($form_state['type'] != 'empty') {
       $form['empty'] = array(
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
index bb3fbdf..0564236 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
@@ -910,12 +910,7 @@ public function getFieldLabels() {
 
     $options = array();
     foreach ($this->getHandlers('relationship') as $relationship => $handler) {
-      if ($label = $handler->label()) {
-        $relationships[$relationship] = $label;
-      }
-      else {
-        $relationships[$relationship] = $handler->adminLabel();
-      }
+      $relationships[$relationship] = $handler->adminLabel();
     }
 
     foreach ($this->getHandlers('field') as $id => $handler) {
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/relationship/RelationshipPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/relationship/RelationshipPluginBase.php
index e2e814c..8cf1c94 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/relationship/RelationshipPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/relationship/RelationshipPluginBase.php
@@ -64,20 +64,9 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
     }
   }
 
-  /**
-   * Get this field's label.
-   */
-  function label() {
-    if (!isset($this->options['label'])) {
-      return $this->adminLabel();
-    }
-    return $this->options['label'];
-  }
-
   protected function defineOptions() {
     $options = parent::defineOptions();
 
-
     // Relationships definitions should define a default label, but if they aren't get another default value.
     if (!empty($this->definition['label'])) {
       $label = $this->definition['label'];
@@ -86,7 +75,7 @@ protected function defineOptions() {
       $label = !empty($this->definition['field']) ? $this->definition['field'] : $this->definition['base field'];
     }
 
-    $options['label'] = array('default' => $label, 'translatable' => TRUE);
+    $options['admin_label']['default'] = $label;
     $options['required'] = array('default' => FALSE, 'bool' => TRUE);
 
     return $options;
@@ -98,13 +87,9 @@ protected function defineOptions() {
    */
   public function buildOptionsForm(&$form, &$form_state) {
     parent::buildOptionsForm($form, $form_state);
-    $form['label'] = array(
-      '#type' => 'textfield',
-      '#title' => t('Identifier'),
-      '#default_value' => isset($this->options['label']) ? $this->options['label'] : '',
-      '#description' => t('Edit the administrative label displayed when referencing this relationship from filters, etc.'),
-      '#required' => TRUE,
-    );
+
+    unset($form['admin_label']['#fieldset']);
+    $form['admin_label']['#weight'] = -1;
 
     $form['required'] = array(
       '#type' => 'checkbox',
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/row/RowPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/row/RowPluginBase.php
index 25f546e..c3294c4 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/row/RowPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/row/RowPluginBase.php
@@ -77,7 +77,7 @@ public function buildOptionsForm(&$form, &$form_state) {
         $base = $data[$relationship['field']]['relationship']['base'];
         if ($base == $this->base_table) {
           $relationship_handler->init($executable, $relationship);
-          $relationship_options[$relationship['id']] = $relationship_handler->label();
+          $relationship_options[$relationship['id']] = $relationship_handler->adminLabel();
         }
       }
 
diff --git a/core/modules/views/lib/Drupal/views/Tests/Handler/AreaTest.php b/core/modules/views/lib/Drupal/views/Tests/Handler/AreaTest.php
index a44ff6f..e056844 100644
--- a/core/modules/views/lib/Drupal/views/Tests/Handler/AreaTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/Handler/AreaTest.php
@@ -75,13 +75,13 @@ public function testUI() {
 
       // Then setup a no empty label.
       $labels[$type] = $this->randomName();
-      $this->drupalPost($edit_path, array('options[label]' => $labels[$type]), t('Apply'));
+      $this->drupalPost($edit_path, array('options[admin_label]' => $labels[$type]), t('Apply'));
       // Make sure that the new label appears on the site.
       $this->assertText($labels[$type]);
 
-      // Test that the settings (empty/label) are accessible.
+      // Test that the settings (empty/admin_label) are accessible.
       $this->drupalGet($edit_path);
-      $this->assertField('options[label]');
+      $this->assertField('options[admin_label]');
       if ($type !== 'empty') {
         $this->assertField('options[empty]');
       }
@@ -167,7 +167,6 @@ public function testTitleArea() {
         'table' => 'views',
         'field' => 'title',
         'admin_label' => '',
-        'label' => '',
         'empty' => '0',
         'title' => 'Overridden title',
       ),
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/HandlerTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/HandlerTest.php
index 5fcb017..f7dd381 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/HandlerTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/HandlerTest.php
@@ -55,11 +55,14 @@ public function testUICRUD() {
       }
 
       $this->assertUrl($edit_handler_url, array(), 'The user got redirected to the handler edit form.');
-      $this->drupalPost(NULL, array(), t('Apply'));
+      $random_label = $this->randomName();
+      $this->drupalPost(NULL, array('options[admin_label]' => $random_label), t('Apply'));
 
       $this->assertUrl('admin/structure/views/view/test_view/edit', array(), 'The user got redirected to the views edit form.');
 
       $this->assertLinkByHref($edit_handler_url, 0, 'The handler edit link appears in the UI.');
+      $links = $this->xpath('//a[starts-with(normalize-space(text()), :label)]', array(':label' => $random_label));
+      $this->assertTrue(isset($links[0]), 'The handler edit link has the right label');
 
       $this->drupalPost($edit_handler_url, array(), t('Remove'));
       $this->assertNoLinkByHref($edit_handler_url, 0, 'The handler edit link does not appears in the UI after removing.');
diff --git a/core/modules/views/views_ui/admin.inc b/core/modules/views/views_ui/admin.inc
index d769edc..164448e 100644
--- a/core/modules/views/views_ui/admin.inc
+++ b/core/modules/views/views_ui/admin.inc
@@ -830,7 +830,7 @@ function views_ui_rearrange_form($form, &$form_state) {
   // Get relationship labels
   $relationships = array();
   foreach ($display->getHandlers('relationship') as $id => $handler) {
-    $relationships[$id] = $handler->label();
+    $relationships[$id] = $handler->adminLabel();
   }
 
   // Filters can now be grouped so we do a little bit extra:
@@ -959,7 +959,7 @@ function views_ui_rearrange_filter_form($form, &$form_state) {
   // Get relationship labels
   $relationships = array();
   foreach ($display->getHandlers('relationship') as $id => $handler) {
-    $relationships[$id] = $handler->label();
+    $relationships[$id] = $handler->adminLabel();
   }
 
   $group_options = array();
@@ -1448,7 +1448,7 @@ function views_ui_config_item_form($form, &$form_state) {
         $base_fields = views_fetch_fields($base, $form_state['type'], $executable->display_handler->useGroupBy());
         if (isset($base_fields[$item['table'] . '.' . $item['field']])) {
           $relationship_handler->init($executable, $executable->display_handler, $relationship);
-          $relationship_options[$relationship['id']] = $relationship_handler->label();
+          $relationship_options[$relationship['id']] = $relationship_handler->adminLabel();
         }
       }
 
diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php
index a43d3ce..db5515a 100644
--- a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php
+++ b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewEditFormController.php
@@ -947,7 +947,7 @@ public function getFormBucket(ViewUI $view, $type, $display) {
       // Get relationship labels
       $relationships = array();
       foreach ($view->get('executable')->displayHandlers->get($display['id'])->getHandlers('relationship') as $id => $handler) {
-        $relationships[$id] = $handler->label();
+        $relationships[$id] = $handler->adminLabel();
       }
     }
 
