diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index c0467c31e32..993e576f107 100644
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -2233,7 +2233,11 @@ impl HTMLInputElement {
self.update_checked_state(self.DefaultChecked(), false);
self.value_changed(can_gc);
// Step 4. Empty selected files
- self.filelist.set(None);
+ if self.filelist.get().is_some() {
+ let window = self.owner_window();
+ let filelist = FileList::new(&window, vec![], can_gc);
+ self.filelist.set(Some(&filelist));
+ }
// Step 5. invoke the value sanitization algorithm iff
// the type attribute's current state defines one.
// This is covered in `fn sanitize_value` called below.
diff --git a/tests/wpt/meta/webdriver/tests/classic/element_send_keys/file_upload.py.ini b/tests/wpt/meta/webdriver/tests/classic/element_send_keys/file_upload.py.ini
index 26ee5011925..828ec3d761b 100644
--- a/tests/wpt/meta/webdriver/tests/classic/element_send_keys/file_upload.py.ini
+++ b/tests/wpt/meta/webdriver/tests/classic/element_send_keys/file_upload.py.ini
@@ -2,9 +2,6 @@
[test_multiple_files_send_twice]
expected: FAIL
- [test_multiple_files_reset_with_element_clear]
- expected: FAIL
-
[test_single_file_appends_with_multiple_attribute]
expected: FAIL