diff --git a/Tests/LibWeb/Text/expected/base/link-element-base.txt b/Tests/LibWeb/Text/expected/base/link-element-base.txt
new file mode 100644
index 00000000000..664c0908e5e
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/base/link-element-base.txt
@@ -0,0 +1 @@
+ document background: rgb(255, 0, 0)
diff --git a/Tests/LibWeb/Text/input/base/link-element-base.html b/Tests/LibWeb/Text/input/base/link-element-base.html
new file mode 100644
index 00000000000..e5ceeadd22d
--- /dev/null
+++ b/Tests/LibWeb/Text/input/base/link-element-base.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp
index 76927c56847..a241db5f712 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLLinkElement.cpp
@@ -228,8 +228,8 @@ HTMLLinkElement::LinkProcessingOptions HTMLLinkElement::create_link_options()
// referrer policy the state of el's referrerpolicy content attribute
options.referrer_policy = ReferrerPolicy::from_string(get_attribute(AttributeNames::referrerpolicy).value_or(""_string)).value_or(ReferrerPolicy::ReferrerPolicy::EmptyString);
// FIXME: source set el's source set
- // base URL document's URL
- options.base_url = document.url();
+ // base URL document's document base URL
+ options.base_url = document.base_url();
// origin document's origin
options.origin = document.origin();
// environment document's relevant settings object