diff --git a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
index 043203c256bf34935340c7fdb757bfb7c43c1ae6..a25ed9bf9c9b7ec3e760293b4d2f0f5226508417 100644
--- a/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
+++ b/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
@@ -341,6 +341,7 @@ private slots:
     void testWindowVisibilityOrder();
 
     void blockClosing();
+    void blockCloseMethod();
 
     void crashWhenHoverItemDeleted();
 
@@ -1739,6 +1740,25 @@ void tst_qquickwindow::blockClosing()
     QTRY_VERIFY(!window->isVisible());
 }
 
+void tst_qquickwindow::blockCloseMethod()
+{
+    QQmlEngine engine;
+    QQmlComponent component(&engine);
+    component.loadUrl(testFileUrl("ucantclosethis.qml"));
+    QQuickWindow *window = qobject_cast<QQuickWindow *>(component.create());
+    QVERIFY(window);
+    window->show();
+    QTest::qWaitForWindowExposed(window);
+    QVERIFY(window->isVisible());
+    QVERIFY(QMetaObject::invokeMethod(window, "close", Qt::DirectConnection));
+    QVERIFY(window->isVisible());
+    QVERIFY(QMetaObject::invokeMethod(window, "close", Qt::DirectConnection));
+    QVERIFY(window->isVisible());
+    window->setProperty("canCloseThis", true);
+    QVERIFY(QMetaObject::invokeMethod(window, "close", Qt::DirectConnection));
+    QTRY_VERIFY(!window->isVisible());
+}
+
 void tst_qquickwindow::crashWhenHoverItemDeleted()
 {
     // QTBUG-32771