diff --git a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
index 0cc5681..9e3786d 100644
--- a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
@@ -2176,7 +2176,7 @@ public function elementPreRender(array $element) {
     $element['#empty'] = $empty ? $view->display_handler->renderArea('empty', $empty) : array();
     $element['#exposed'] = !empty($view->exposed_widgets) ? $view->exposed_widgets : array();
     $element['#more'] = $view->display_handler->renderMoreLink();
-    $element['#feed_icon'] = !empty($view->feed_icon) ? $view->feed_icon : array();
+    $element['#feed_icons'] = !empty($view->feedIcons) ? $view->feedIcons : array();
 
     if ($view->display_handler->renderPager()) {
       $exposed_input = isset($view->exposed_raw_input) ? $view->exposed_raw_input : NULL;
@@ -2211,7 +2211,7 @@ public function elementPreRender(array $element) {
         $element['#pager'] = array();
         $element['#footer'] = array();
         $element['#more'] = array();
-        $element['#feed_icon'] = array();
+        $element['#feed_icons'] = array();
       }
 
       $element['#rows'] = $form;
diff --git a/core/modules/views/src/Plugin/views/display/Feed.php b/core/modules/views/src/Plugin/views/display/Feed.php
index da96d29..8e6b231 100644
--- a/core/modules/views/src/Plugin/views/display/Feed.php
+++ b/core/modules/views/src/Plugin/views/display/Feed.php
@@ -269,6 +269,9 @@ public function attachTo(ViewExecutable $clone, $display_id, array &$build) {
     $clone->buildTitle();
     if ($plugin = $clone->display_handler->getPlugin('style')) {
       $plugin->attachTo($build, $display_id, $this->getPath(), $clone->getTitle());
+      foreach ($clone->feedIcons as $feed_icon) {
+        $this->view->feedIcons[] = $feed_icon;
+      }
     }
 
     // Clean up.
diff --git a/core/modules/views/src/Plugin/views/style/Opml.php b/core/modules/views/src/Plugin/views/style/Opml.php
index 229e4c2..f41378f 100644
--- a/core/modules/views/src/Plugin/views/style/Opml.php
+++ b/core/modules/views/src/Plugin/views/style/Opml.php
@@ -48,12 +48,11 @@ public function attachTo(array &$build, $display_id, $path, $title) {
       }
     }
     else {
-      $feed_icon = array(
+      $this->view->feedIcons[] = array(
         '#theme' => 'feed_icon',
         '#url' => $url,
         '#title' => $title,
       );
-      $this->view->feed_icon = $feed_icon;
     }
   }
 
diff --git a/core/modules/views/src/Plugin/views/style/Rss.php b/core/modules/views/src/Plugin/views/style/Rss.php
index 88c6e46..1a8025a 100644
--- a/core/modules/views/src/Plugin/views/style/Rss.php
+++ b/core/modules/views/src/Plugin/views/style/Rss.php
@@ -50,12 +50,11 @@ public function attachTo(array &$build, $display_id, $path, $title) {
     }
     else {
       // Add the RSS icon to the view.
-      $feed_icon = array(
+      $this->view->feedIcons[] = array(
         '#theme' => 'feed_icon',
         '#url' => $url,
         '#title' => $title,
       );
-      $this->view->feed_icon = $feed_icon;
 
       // Attach a link to the RSS feed, which is an alternate representation.
       $build['#attached']['html_head_link'][][] = array(
diff --git a/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php b/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php
index 7df3e31..97e6e99 100644
--- a/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php
+++ b/core/modules/views/src/Tests/Plugin/DisplayFeedTest.php
@@ -42,6 +42,7 @@ protected function setUp() {
    * Tests the rendered output.
    */
   public function testFeedOutput() {
+    $this->drupalCreateContentType(['type' => 'page']);
     $this->drupalCreateNode();
 
     // Test the site name setting.
@@ -60,6 +61,17 @@ public function testFeedOutput() {
     $this->drupalGet('test-feed-display.xml');
     $result = $this->xpath('//title');
     $this->assertEqual($result[0], 'test_display_feed', 'The display title is used for the feed title.');
+
+    // Add a block display and attach the feed.
+    $view->getExecutable()->newDisplay('block', NULL, 'test');
+    $display = &$view->getDisplay('feed_1');
+    $display['display_options']['displays']['test'] = 'test';
+    $view->save();
+    // Test the feed display adds a feed icon to the block display.
+    $this->drupalPlaceBlock('views_block:test_display_feed-test');
+    $this->drupalGet('<front>');
+    $feed_icon = $this->cssSelect('div.view-id-test_display_feed a.feed-icon');
+    $this->assertTrue(strpos($feed_icon[0]['href'], 'test-feed-display.xml'), 'The feed icon was found.');
   }
 
 }
diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php
index c5eda99..68a47cc 100644
--- a/core/modules/views/src/ViewExecutable.php
+++ b/core/modules/views/src/ViewExecutable.php
@@ -124,6 +124,13 @@ class ViewExecutable {
    */
   public $attachment_after = array();
 
+  /**
+   * Feed icons attached to the view.
+   *
+   * @var array
+   */
+  public $feedIcons = array();
+
   // Exposed widget input
 
   /**
diff --git a/core/modules/views/templates/views-view.html.twig b/core/modules/views/templates/views-view.html.twig
index f839ef9..5070c42 100644
--- a/core/modules/views/templates/views-view.html.twig
+++ b/core/modules/views/templates/views-view.html.twig
@@ -20,7 +20,7 @@
  * - empty: The content to display if there are no rows.
  * - pager: The optional pager next/prev links to display.
  * - exposed: Exposed widget form/info to display.
- * - feed_icon: An optional feed icon to display.
+ * - feed_icons: Optional feed icons to display.
  * - more: An optional link to the next page of results.
  * - title: Title of the view, only used when displaying in the admin preview.
  * - title_prefix: Additional output populated by modules, intended to be
@@ -85,9 +85,9 @@
       {{ footer }}
     </div>
   {% endif %}
-  {% if feed_icon %}
+  {% if feed_icons %}
     <div class="feed-icon">
-      {{ feed_icon }}
+      {{ feed_icons }}
     </div>
   {% endif %}
 </div>
diff --git a/core/modules/views/tests/modules/views_test_data/templates/views-view--frontpage.html.twig b/core/modules/views/tests/modules/views_test_data/templates/views-view--frontpage.html.twig
index 0ccf2da..df8e418 100644
--- a/core/modules/views/tests/modules/views_test_data/templates/views-view--frontpage.html.twig
+++ b/core/modules/views/tests/modules/views_test_data/templates/views-view--frontpage.html.twig
@@ -20,7 +20,7 @@
  * - empty: The content to display if there are no rows.
  * - pager: The optional pager next/prev links to display.
  * - exposed: Exposed widget form/info to display.
- * - feed_icon: An optional feed icon to display.
+ * - feed_icons: Optional feed icons to display.
  * - more: An optional link to the next page of results.
  * - title: Title of the view, only used when displaying in the admin preview.
  * - title_prefix: Additional output populated by modules, intended to be
@@ -80,9 +80,9 @@
       {{ footer }}
     </div>
   {% endif %}
-  {% if feed_icon %}
+  {% if feed_icons %}
     <div class="feed-icon">
-      {{ feed_icon }}
+      {{ feed_icons }}
     </div>
   {% endif %}
 </div>
diff --git a/core/modules/views/views.module b/core/modules/views/views.module
index 02e9f52..c216872 100644
--- a/core/modules/views/views.module
+++ b/core/modules/views/views.module
@@ -110,7 +110,7 @@ function views_theme($existing, $type, $theme, $path) {
       'empty' => array(),
       'exposed' => array(),
       'more' => array(),
-      'feed_icon' => array(),
+      'feed_icons' => array(),
       'pager' => array(),
       'title' => '',
       'attachment_before' => array(),
