Index: /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 37876)
+++ /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 37877)
@@ -2756,6 +2756,4 @@
     pThis->hypervisorSize = 0;
 
-    pThis->u32HostEventFlags = 0;
-
     /* re-initialize the VMMDev memory */
     if (pThis->pVMMDevRAMR3)
@@ -2807,8 +2805,10 @@
      * Clear the event variables.
      *
-     *   Note: The pThis->u32HostEventFlags is not cleared.
-     *         It is designed that way so host events do not
-     *         depend on guest resets.
+     * XXX By design we should NOT clear pThis->u32HostEventFlags because it is designed
+     *     that way so host events do not depend on guest resets. However, the pending
+     *     event flags actually _were_ cleared since ages so we mask out events from
+     *     clearing which we really need to survive the reset. See xtracker 5767.
      */
+    pThis->u32HostEventFlags    &= VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST;
     pThis->u32GuestFilterMask    = 0;
     pThis->u32NewGuestFilterMask = 0;
