diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index cd57c1611e4089f4355228b866f91b3e9e75109c..d40fc84d778a0f7fbb34b63c4cc579fe22c12086 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -73,8 +73,10 @@ public:
 
     void clearFocusObject()
     {
-        if (QApplicationPrivate::focus_widget)
-            QApplicationPrivate::focus_widget->clearFocus();
+        Q_Q(QWidgetWindow);
+        QWidget *widget = q->widget();
+        if (widget && widget->focusWidget())
+            widget->focusWidget()->clearFocus();
     }
 
 };