diff --git a/examples/webenginewidgets/demobrowser/webview.cpp b/examples/webenginewidgets/demobrowser/webview.cpp
index ab2a4f3c687576fdfa3c004e7bf3846b0f8c083f..498df74fc8d7d9b5523a31f9c8ca7d3d4b703797 100644
--- a/examples/webenginewidgets/demobrowser/webview.cpp
+++ b/examples/webenginewidgets/demobrowser/webview.cpp
@@ -363,6 +363,7 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
     QMenu *menu;
     if (page()->contextMenuData().linkUrl().isValid()) {
         menu = new QMenu(this);
+        menu->setAttribute(Qt::WA_DeleteOnClose, true);
         menu->addAction(page()->action(QWebEnginePage::OpenLinkInThisWindow));
         menu->addAction(page()->action(QWebEnginePage::OpenLinkInNewWindow));
         menu->addAction(page()->action(QWebEnginePage::OpenLinkInNewTab));
@@ -375,7 +376,6 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
     }
     if (page()->contextMenuData().selectedText().isEmpty())
         menu->addAction(page()->action(QWebEnginePage::SavePage));
-    connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater);
     menu->popup(event->globalPos());
 }
 
diff --git a/examples/webenginewidgets/simplebrowser/webview.cpp b/examples/webenginewidgets/simplebrowser/webview.cpp
index 657993fc6ab791dcb404fcd82fe758e7564216a0..e4e7f5efae1074e3d1eb836e9d666a471681d9ca 100644
--- a/examples/webenginewidgets/simplebrowser/webview.cpp
+++ b/examples/webenginewidgets/simplebrowser/webview.cpp
@@ -151,7 +151,6 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
         menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewWindow));
         menu->insertAction(before, page()->action(QWebEnginePage::OpenLinkInNewTab));
     }
-    connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater);
     menu->popup(event->globalPos());
 }
 
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 69697d626cc2cf0acc5aadd59c9973d90b421083..eeb5524a0eefd24a70fad7fc3f90a0b3ac53fa28 100644
--- a/src/webenginewidgets/api/qwebenginepage.cpp
+++ b/src/webenginewidgets/api/qwebenginepage.cpp
@@ -1615,6 +1615,8 @@ QMenu *QWebEnginePage::createStandardContextMenu()
     if (d->isFullScreenMode())
         menu->addAction(QWebEnginePage::action(ExitFullScreen));
 
+    menu->setAttribute(Qt::WA_DeleteOnClose, true);
+
     return menu;
 }
 
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp
index 8b4053e731cd387ae6cfcb340a0dcd4e9ff9b112..63cf30d67fff787f577cc4b11c4de8c909e04113 100644
--- a/src/webenginewidgets/api/qwebengineview.cpp
+++ b/src/webenginewidgets/api/qwebengineview.cpp
@@ -322,7 +322,6 @@ bool QWebEngineView::event(QEvent *ev)
 void QWebEngineView::contextMenuEvent(QContextMenuEvent *event)
 {
     QMenu *menu = page()->createStandardContextMenu();
-    connect(menu, &QMenu::aboutToHide, menu, &QObject::deleteLater);
     menu->popup(event->globalPos());
 }