diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp
index 0fd645a4d383cb7d25523fbc4cc9fa17a21f7e1b..acfccc8e192958ef978fadce72bd31de7632a223 100644
--- a/src/widgets/widgets/qmenu.cpp
+++ b/src/widgets/widgets/qmenu.cpp
@@ -3055,8 +3055,10 @@ void QMenu::actionEvent(QActionEvent *e)
             delete menuItem;
         } else if (e->type() == QEvent::ActionChanged) {
             QPlatformMenuItem *menuItem = d->platformMenu->menuItemForTag(reinterpret_cast<quintptr>(e->action()));
-            copyActionToPlatformItem(e->action(), menuItem);
-            d->platformMenu->syncMenuItem(menuItem);
+            if (menuItem) {
+                copyActionToPlatformItem(e->action(), menuItem);
+                d->platformMenu->syncMenuItem(menuItem);
+            }
         }
 
         d->platformMenu->syncSeparatorsCollapsible(d->collapsibleSeparators);