diff --git a/core/modules/block/block.module b/core/modules/block/block.module
index e65d07a..b58ebd5 100644
--- a/core/modules/block/block.module
+++ b/core/modules/block/block.module
@@ -42,10 +42,7 @@ function block_help($route_name, RouteMatchInterface $route_match) {
       return $output;
   }
   if ($route_name == 'block.admin_display' || $route_name == 'block.admin_display_theme') {
-    $demo_theme = $route_match->getParameter('theme') ?: \Drupal::config('system.theme')->get('default');
-    $themes = \Drupal::service('theme_handler')->listInfo();
     $output = '<p>' . t('This page provides a drag-and-drop interface for adding a block to a region, and for controlling the order of blocks within regions. To add a block to a region, or to configure its specific title and visibility settings, click the block title under <em>Place blocks</em>. Since not all themes implement the same regions, or display regions in the same way, blocks are positioned on a per-theme basis. Remember that your changes will not be saved until you click the <em>Save blocks</em> button at the bottom of the page.') . '</p>';
-    $output .= '<p>' . \Drupal::l(t('Demonstrate block regions (@theme)', array('@theme' => $themes[$demo_theme]->info['name'])), new Url('block.admin_demo', array('theme' => $demo_theme))) . '</p>';
     return $output;
   }
 }
diff --git a/core/modules/block/src/BlockListBuilder.php b/core/modules/block/src/BlockListBuilder.php
index aa669fa..cdf36e6 100644
--- a/core/modules/block/src/BlockListBuilder.php
+++ b/core/modules/block/src/BlockListBuilder.php
@@ -166,6 +166,14 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       '#type' => 'value',
       '#value' => $this->theme,
     );
+
+    $theme_info = \Drupal::service('theme_handler')->getTheme($this->theme);
+    $form['demonstration_link'] = array(
+      '#type' => 'link',
+      '#title' => $this->t('Demonstrate block regions (@theme)', array('@theme' => $theme_info->info['name'])),
+      '#url' => Url::fromRoute('block.admin_demo', array('theme' => $this->theme)),
+    );
+
     $form['blocks'] = array(
       '#type' => 'table',
       '#header' => array(
diff --git a/core/modules/block/src/Tests/BlockUiTest.php b/core/modules/block/src/Tests/BlockUiTest.php
index aba4ba1..60d2375 100644
--- a/core/modules/block/src/Tests/BlockUiTest.php
+++ b/core/modules/block/src/Tests/BlockUiTest.php
@@ -22,7 +22,7 @@ class BlockUiTest extends WebTestBase {
    *
    * @var array
    */
-  public static $modules = array('block', 'block_test', 'help');
+  public static $modules = array('block', 'block_test');
 
   protected $regions;
 
diff --git a/core/modules/block/templates/block-list.html.twig b/core/modules/block/templates/block-list.html.twig
index 854d3ce..0046078 100644
--- a/core/modules/block/templates/block-list.html.twig
+++ b/core/modules/block/templates/block-list.html.twig
@@ -13,9 +13,12 @@
  * @ingroup themeable
  */
 #}
+<div class="demonstration-block-link clearfix">
+    {{ form.demonstration_link }}
+</div>
 <div class="layout-block-list clearfix">
   <div class="layout-region block-list-primary">
-    {{ form|without('place_blocks') }}
+    {{ form|without('place_blocks', 'demonstration_link') }}
   </div>
   <div class="layout-region block-list-secondary">
     {{ form.place_blocks }}
