diff --git a/core/modules/block/block.module b/core/modules/block/block.module
index 1bca18b..e639b36 100644
--- a/core/modules/block/block.module
+++ b/core/modules/block/block.module
@@ -60,7 +60,7 @@ function block_help($path, $arg) {
     }
     $themes = list_themes();
     $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>' . l(t('Demonstrate block regions (@theme)', array('@theme' => $themes[$demo_theme]->info['name'])), 'admin/structure/block/demo/' . $demo_theme) . '</p>';
+    $output .= '<p>' . l(t('Demonstrate block regions (!theme)', array('!theme' => $themes[$demo_theme]->info['name'])), 'admin/structure/block/demo/' . $demo_theme) . '</p>';
     return $output;
   }
 }
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
index e7b99e1..cb182a6 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php
@@ -181,6 +181,25 @@ public function testBlockThemeSelector() {
   }
 
   /**
+   * Test block display of theme titles.
+   */
+  function testThemeName() {
+    \Drupal::moduleHandler()->install(array('block_test'));
+    // Explicitly set the default and admin themes.
+    $theme = 'cat_mouse';
+    theme_enable(array($theme, 'seven', 'block_test_theme'));
+    $this->resetAll();
+
+    \Drupal::config('system.theme')
+      ->set('default', 'seven')
+      ->set('admin', 'seven')
+      ->save();
+    $this->drupalGet('admin/appearance');
+    $this->drupalGet('admin/structure/block');
+    $this->assertText('&lt;&quot;Cat&quot; &amp; &#039;Mouse&#039;&gt;');
+  }
+
+  /**
    * Test block title display settings.
    */
   function testHideBlockTitle() {
diff --git a/core/modules/block/tests/modules/block_test/block_test.module b/core/modules/block/tests/modules/block_test/block_test.module
index 1530f2c..c87b1f7 100644
--- a/core/modules/block/tests/modules/block_test/block_test.module
+++ b/core/modules/block/tests/modules/block_test/block_test.module
@@ -6,6 +6,15 @@
  */
 
 /**
+ * Implements hook_system_theme_info().
+ */
+function block_test_system_theme_info() {
+  $themes['block_test_theme'] = drupal_get_path('module', 'block_test') . '/themes/block_test_theme/block_test_theme.info.yml';
+  $themes['cat_mouse'] = drupal_get_path('module', 'block_test') . '/themes/cat_mouse/cat_mouse.info.yml';
+  return $themes;
+}
+
+/**
  * Implements hook_block_alter().
  */
 function block_test_block_alter(&$block_info) {
diff --git a/core/modules/block/tests/modules/block_test/themes/cat_mouse/cat_mouse.info.yml b/core/modules/block/tests/modules/block_test/themes/cat_mouse/cat_mouse.info.yml
new file mode 100644
index 0000000..999f7f3
--- /dev/null
+++ b/core/modules/block/tests/modules/block_test/themes/cat_mouse/cat_mouse.info.yml
@@ -0,0 +1,16 @@
+name: '<"Cat" & ''Mouse''>'
+type: theme
+description: 'Theme for testing special characters in block admin.'
+core: 8.x
+hidden: true
+regions:
+  sidebar_first: 'Left sidebar'
+  sidebar_second: 'Right sidebar'
+  content: Content
+  header: Header
+  footer: Footer
+  highlighted: Highlighted
+  help: Help
+regions_hidden:
+  - sidebar_first
+  - sidebar_second
