diff --git a/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php b/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php
index 4310fb944bfc7cdcd8db558d1858fd92a8f31976..3c92345ba1fd749ae480a6507f79cdf7d74396ba 100644
--- a/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php
+++ b/core/modules/link/src/Plugin/Field/FieldType/LinkItem.php
@@ -169,7 +169,7 @@ public static function mainPropertyName() {
    * {@inheritdoc}
    */
   public function getUrl() {
-    return Url::fromUri($this->uri);
+    return Url::fromUri($this->uri, $this->options);
   }
 
   /**
diff --git a/core/modules/link/tests/src/Kernel/LinkItemTest.php b/core/modules/link/tests/src/Kernel/LinkItemTest.php
index 617c0256400c6fa9f501c62be3fd28df60f4a24d..6473efbf100161aaa68debfd3a55e4234d8dc1e8 100644
--- a/core/modules/link/tests/src/Kernel/LinkItemTest.php
+++ b/core/modules/link/tests/src/Kernel/LinkItemTest.php
@@ -78,6 +78,13 @@ public function testLinkItem() {
     $entity->field_test->title = $title;
     $entity->field_test->first()->get('options')->set('query', $parsed_url['query']);
     $entity->field_test->first()->get('options')->set('attributes', array('class' => $class));
+    $this->assertEquals([
+      'query' => $parsed_url['query'],
+      'attributes' => [
+        'class' => $class,
+      ],
+      'external' => TRUE,
+    ], $entity->field_test->first()->getUrl()->getOptions());
     $entity->name->value = $this->randomMachineName();
     $entity->save();