diff --git a/core/modules/aggregator/src/Plugin/Block/AggregatorFeedBlock.php b/core/modules/aggregator/src/Plugin/Block/AggregatorFeedBlock.php
index d2092a3..ef9968c 100644
--- a/core/modules/aggregator/src/Plugin/Block/AggregatorFeedBlock.php
+++ b/core/modules/aggregator/src/Plugin/Block/AggregatorFeedBlock.php
@@ -163,9 +163,13 @@ public function build() {
       $read_more = drupal_render($more_link);
       $rendered_items = array();
       foreach ($items as $item) {
+        if (!$item->getLink()) {
+          // No link, ignore it.
+          continue;
+        }
         $aggregator_block_item = array(
           '#type' => 'link',
-          '#href' => $item->getLink(),
+          '#url' => $item->urlInfo(),
           '#title' => $item->label(),
         );
         $rendered_items[] = drupal_render($aggregator_block_item);
diff --git a/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php b/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php
index c344d5c..dcdc4c0 100644
--- a/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php
+++ b/core/modules/aggregator/src/Tests/AggregatorRenderingTest.php
@@ -52,6 +52,11 @@ public function testBlockLinks() {
     $this->drupalGet('test-page');
     $this->assertText($block->label(), 'Feed block is displayed on the page.');
 
+    // Confirm items appear as links.
+    $items = $this->container->get('entity.manager')->getStorage('aggregator_item')->loadByFeed($feed->id(), 1);
+    $links = $this->xpath('//a[@href = :href]', array(':href' => reset($items)->getLink()));
+    $this->assert(isset($links[0]), 'Item link found.');
+
     // Find the expected read_more link.
     $href = $feed->url();
     $links = $this->xpath('//a[@href = :href]', array(':href' => $href));
