diff --git a/Libraries/LibWeb/SVG/SVGSVGElement.idl b/Libraries/LibWeb/SVG/SVGSVGElement.idl
index d7c368cbee3..b59c24e73ca 100644
--- a/Libraries/LibWeb/SVG/SVGSVGElement.idl
+++ b/Libraries/LibWeb/SVG/SVGSVGElement.idl
@@ -29,7 +29,8 @@ interface SVGSVGElement : SVGGraphicsElement {
SVGTransform createSVGTransform();
[FIXME] SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix = {});
- Element getElementById(DOMString elementId);
+ // NOTE: The spec says this returns `Element` but that's a bug: https://github.com/w3c/svgwg/issues/923
+ Element? getElementById(DOMString elementId);
// Deprecated methods that have no effect when called,
// but which are kept for compatibility reasons.
diff --git a/Tests/LibWeb/Text/expected/SVG/svg-svg-getElementById.txt b/Tests/LibWeb/Text/expected/SVG/svg-svg-getElementById.txt
new file mode 100644
index 00000000000..b2c18efad46
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/SVG/svg-svg-getElementById.txt
@@ -0,0 +1 @@
+PASS: true
diff --git a/Tests/LibWeb/Text/input/SVG/svg-svg-getElementById.html b/Tests/LibWeb/Text/input/SVG/svg-svg-getElementById.html
new file mode 100644
index 00000000000..0a072ce46f1
--- /dev/null
+++ b/Tests/LibWeb/Text/input/SVG/svg-svg-getElementById.html
@@ -0,0 +1,8 @@
+
+
+