diff --git a/src/pat/close-panel/close-panel.js b/src/pat/close-panel/close-panel.js
index a46e49dad..2f8436ea4 100644
--- a/src/pat/close-panel/close-panel.js
+++ b/src/pat/close-panel/close-panel.js
@@ -25,6 +25,7 @@ export default Base.extend({
await utils.timeout(0); // Wait for other patterns, like pat-validation.
if (
+ e.target.matches(":not([formnovalidate])") &&
e.target.matches("[type=submit], button:not([type=button])") &&
this.el.closest("form")?.checkValidity() === false
) {
diff --git a/src/pat/close-panel/close-panel.test.js b/src/pat/close-panel/close-panel.test.js
index b202d46c0..2444b6756 100644
--- a/src/pat/close-panel/close-panel.test.js
+++ b/src/pat/close-panel/close-panel.test.js
@@ -10,7 +10,7 @@ describe("pat close-panel", function () {
document.body.innerHTML = "";
});
- it("Closes a modal's panel.", async function () {
+ it("1 - Closes a modal's panel.", async function () {
document.body.innerHTML = `
@@ -42,7 +42,7 @@ describe("pat close-panel", function () {
expect(document.querySelectorAll(".pat-modal").length).toBe(0);
});
- it("Closes a dialog's panel.", async function () {
+ it("2 - Closes a dialog's panel.", async function () {
document.body.innerHTML = `