diff --git a/mythtv/programs/mythfrontend/main.cpp b/mythtv/programs/mythfrontend/main.cpp
index da49fa9..29c17d5 100644
--- a/mythtv/programs/mythfrontend/main.cpp
+++ b/mythtv/programs/mythfrontend/main.cpp
@@ -263,6 +263,8 @@ namespace
 
     void cleanup()
     {
+        qApp->processEvents();
+        DestroyMythMainWindow();
 #ifdef USING_AIRPLAY
         MythRAOPDevice::Cleanup();
         MythAirplayServer::Cleanup();
@@ -287,8 +289,6 @@ namespace
             pmanager = NULL;
         }
 
-        DestroyMythMainWindow();
-
         delete gContext;
         gContext = NULL;
 
