diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp
index c8fe9c38315bc2e43e041b3d8595444edcc51d09..3e6efafbdfb1f5ae8a8718e722953dba0f5d2c50 100644
--- a/src/webenginewidgets/api/qwebengineview.cpp
+++ b/src/webenginewidgets/api/qwebengineview.cpp
@@ -89,6 +89,7 @@ void QWebEngineViewPrivate::bind(QWebEngineView *view, QWebEnginePage *page)
 QWebEngineViewPrivate::QWebEngineViewPrivate()
     : QWidgetPrivate(QObjectPrivateVersion)
     , page(0)
+    , m_pendingContextMenuEvent(false)
 {
 }
 
@@ -221,10 +222,12 @@ void QWebEngineView::setZoomFactor(qreal factor)
 
 bool QWebEngineView::event(QEvent *ev)
 {
+    Q_D(QWebEngineView);
     // We swallow spontaneous contextMenu events and synthethize those back later on when we get the
     // HandleContextMenu callback from chromium
     if (ev->type() == QEvent::ContextMenu) {
         ev->accept();
+        d->m_pendingContextMenuEvent = true;
         return true;
     }
     return QWidget::event(ev);