diff --git a/Tests/LibWeb/Text/expected/XHR/XMLHttpRequest-request-is-blob.txt b/Tests/LibWeb/Text/expected/XHR/XMLHttpRequest-request-is-blob.txt
new file mode 100644
index 00000000000..7ef22e9a431
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/XHR/XMLHttpRequest-request-is-blob.txt
@@ -0,0 +1 @@
+PASS
diff --git a/Tests/LibWeb/Text/input/XHR/XMLHttpRequest-request-is-blob.html b/Tests/LibWeb/Text/input/XHR/XMLHttpRequest-request-is-blob.html
new file mode 100644
index 00000000000..febbfeac575
--- /dev/null
+++ b/Tests/LibWeb/Text/input/XHR/XMLHttpRequest-request-is-blob.html
@@ -0,0 +1,14 @@
+
+
diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
index c9558feeb1c..163cab95a30 100644
--- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
+++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
@@ -20,6 +20,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -481,7 +482,7 @@ WebIDL::ExceptionOr XMLHttpRequest::open(String const& method_string, Stri
// 5. Let parsedURL be the result of parsing url with this’s relevant settings object’s API base URL and this’s relevant settings object’s API URL character encoding.
// FIXME: Pass in this’s relevant settings object’s API URL character encoding.
- auto parsed_url = HTML::relevant_settings_object(*this).api_base_url().complete_url(url);
+ auto parsed_url = DOMURL::parse(url, HTML::relevant_settings_object(*this).api_base_url(), {});
// 6. If parsedURL is failure, then throw a "SyntaxError" DOMException.
if (!parsed_url.is_valid())