diff --git a/Libraries/LibWeb/HTML/HTMLDialogElement.cpp b/Libraries/LibWeb/HTML/HTMLDialogElement.cpp
index ee8f1e30f7e..e3d9f360693 100644
--- a/Libraries/LibWeb/HTML/HTMLDialogElement.cpp
+++ b/Libraries/LibWeb/HTML/HTMLDialogElement.cpp
@@ -242,8 +242,11 @@ void HTMLDialogElement::request_close(Optional return_value)
// 1. If this does not have an open attribute, then return.
if (!has_attribute(AttributeNames::open))
return;
- // 2. Assert: this's close watcher is not null.
- VERIFY(m_close_watcher);
+ // ADHOC: 2. If this's close watcher is null, then close the dialog this with returnValue, and return. See https://github.com/whatwg/html/pull/10983
+ if (!m_close_watcher) {
+ close_the_dialog(move(return_value));
+ return;
+ }
// 3. Set dialog's enable close watcher for requestClose() to true.
// ADHOC: Implemented slightly differently to the spec, as the spec is unnecessarily complex.
m_close_watcher->set_enabled(true);
diff --git a/Tests/LibWeb/Crash/wpt-import/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html b/Tests/LibWeb/Crash/wpt-import/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html
new file mode 100644
index 00000000000..bfa400a7524
--- /dev/null
+++ b/Tests/LibWeb/Crash/wpt-import/html/semantics/interactive-elements/the-dialog-element/dialog-requestclose-crash.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+