diff --git a/src/plugins/platforms/ios/qioseventdispatcher.h b/src/plugins/platforms/ios/qioseventdispatcher.h
index 3a6b67f72eb4e7c95692a9c4c1d3ec0267bc4ceb..fdaa7e68fea29c8d038b62f9b7bddec933e029a3 100644
--- a/src/plugins/platforms/ios/qioseventdispatcher.h
+++ b/src/plugins/platforms/ios/qioseventdispatcher.h
@@ -52,7 +52,7 @@ public:
     void interruptEventLoopExec();
 
 private:
-    uint m_processEventCallsAfterExec;
+    uint m_processEventLevel;
     RunLoopObserver<QIOSEventDispatcher> m_runLoopExitObserver;
 };
 
diff --git a/src/plugins/platforms/ios/qioseventdispatcher.mm b/src/plugins/platforms/ios/qioseventdispatcher.mm
index f4567f36f4f5c6d15e18346b5f4a7a58f3a8b394..fc12e83a8195a337988bdef7940a687e93587cbf 100644
--- a/src/plugins/platforms/ios/qioseventdispatcher.mm
+++ b/src/plugins/platforms/ios/qioseventdispatcher.mm
@@ -422,7 +422,7 @@ QT_USE_NAMESPACE
 
 QIOSEventDispatcher::QIOSEventDispatcher(QObject *parent)
     : QEventDispatcherCoreFoundation(parent)
-    , m_processEventCallsAfterExec(0)
+    , m_processEventLevel(0)
     , m_runLoopExitObserver(this, &QIOSEventDispatcher::handleRunLoopExit, kCFRunLoopExit)
 {
 }
@@ -439,8 +439,8 @@ bool __attribute__((returns_twice)) QIOSEventDispatcher::processEvents(QEventLoo
         return false;
     }
 
-    if (!m_processEventCallsAfterExec && (flags & QEventLoop::EventLoopExec)) {
-        ++m_processEventCallsAfterExec;
+    if (!m_processEventLevel && (flags & QEventLoop::EventLoopExec)) {
+        ++m_processEventLevel;
 
         m_runLoopExitObserver.addToMode(kCFRunLoopCommonModes);
 
@@ -465,13 +465,9 @@ bool __attribute__((returns_twice)) QIOSEventDispatcher::processEvents(QEventLoo
         Q_UNREACHABLE();
     }
 
-    if (m_processEventCallsAfterExec)
-        ++m_processEventCallsAfterExec;
-
+    ++m_processEventLevel;
     bool processedEvents = QEventDispatcherCoreFoundation::processEvents(flags);
-
-    if (m_processEventCallsAfterExec)
-        --m_processEventCallsAfterExec;
+    --m_processEventLevel;
 
     return processedEvents;
 }
@@ -481,7 +477,7 @@ void QIOSEventDispatcher::handleRunLoopExit(CFRunLoopActivity activity)
     Q_UNUSED(activity);
     Q_ASSERT(activity == kCFRunLoopExit);
 
-    if (m_processEventCallsAfterExec == 1 && !QThreadData::current()->eventLoops.top()->isRunning()) {
+    if (m_processEventLevel == 1 && !QThreadData::current()->eventLoops.top()->isRunning()) {
         qEventDispatcherDebug() << "Root runloop level exited";
         interruptEventLoopExec();
     }
@@ -489,9 +485,9 @@ void QIOSEventDispatcher::handleRunLoopExit(CFRunLoopActivity activity)
 
 void QIOSEventDispatcher::interruptEventLoopExec()
 {
-    Q_ASSERT(m_processEventCallsAfterExec == 1);
+    Q_ASSERT(m_processEventLevel == 1);
 
-    --m_processEventCallsAfterExec;
+    --m_processEventLevel;
 
     m_runLoopExitObserver.removeFromMode(kCFRunLoopCommonModes);