diff --git a/Tests/LibWeb/Text/expected/HTML/SVGImageElement-load-and-error-events.txt b/Tests/LibWeb/Text/expected/HTML/SVGImageElement-load-and-error-events.txt
new file mode 100644
index 00000000000..3752f8bc397
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/HTML/SVGImageElement-load-and-error-events.txt
@@ -0,0 +1,3 @@
+SUCCESS: "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
+FAIL: "file:///i-do-not-exist"
+FAIL: "https://something.invalid"
diff --git a/Tests/LibWeb/Text/input/HTML/SVGImageElement-load-and-error-events.html b/Tests/LibWeb/Text/input/HTML/SVGImageElement-load-and-error-events.html
new file mode 100644
index 00000000000..db7a9e6182d
--- /dev/null
+++ b/Tests/LibWeb/Text/input/HTML/SVGImageElement-load-and-error-events.html
@@ -0,0 +1,41 @@
+
+
+
diff --git a/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp
index a0e2e726784..a684d51708c 100644
--- a/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp
+++ b/Userland/Libraries/LibWeb/SVG/SVGImageElement.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -161,9 +162,13 @@ void SVGImageElement::fetch_the_document(URL::URL const& url)
}
set_needs_style_update(true);
document().set_needs_layout();
+
+ dispatch_event(DOM::Event::create(realm(), HTML::EventNames::load));
},
[this] {
m_load_event_delayer.clear();
+
+ dispatch_event(DOM::Event::create(realm(), HTML::EventNames::error));
});
if (m_resource_request->needs_fetching()) {