diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 262e227b1669678b920b8fc29241d54d05bac41a..986aab3c8f5eebb5ebe7b8278aa0be96ba433a49 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -1796,7 +1796,9 @@ void QQuickWindowPrivate::deliverTouchEvent(QTouchEvent *event)
         if (!delayedTouch) {
             delayedTouch = new QTouchEvent(event->type(), event->device(), event->modifiers(), event->touchPointStates(), event->touchPoints());
             delayedTouch->setTimestamp(event->timestamp());
-            if (windowManager)
+            if (renderControl)
+                QQuickRenderControlPrivate::get(renderControl)->maybeUpdate();
+            else if (windowManager)
                 windowManager->maybeUpdate(q);
             return;
         } else {