Index: /trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h	(revision 74728)
+++ /trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h	(revision 74729)
@@ -2655,4 +2655,7 @@
  * @param   pVCpu           The cross context virtual CPU structure.
  * @param   uExitReason     The VM-exit reason.
+ *
+ * @remarks Make sure VM-exit qualification is updated before calling this
+ *          function!
  */
 IEM_STATIC VBOXSTRICTRC iemVmxVmexit(PVMCPU pVCpu, uint32_t uExitReason)
@@ -3523,6 +3526,9 @@
          * instruction length field and let the VM-exit handler update the RIP when appropriate.
          * It will then clear the VM-exit instruction length field before completing the VM-exit.
+         *
+         * The VM-exit qualification must be cleared.
          */
         iemVmxVmcsSetExitInstrLen(pVCpu, cbInstr);
+        iemVmxVmcsSetExitQual(pVCpu, 0);
         return iemVmxVmexit(pVCpu, VMX_EXIT_TPR_BELOW_THRESHOLD);
     }
@@ -5608,4 +5614,7 @@
                     iemVmxVmentrySaveForceFlags(pVCpu);
 
+                    /* Initialize the VM-exit qualification field as it MBZ for VM-exits where it isn't specified. */
+                    iemVmxVmcsSetExitQual(pVCpu, 0);
+
                     rc = iemVmxVmentryCheckGuestState(pVCpu, pszInstr);
                     if (RT_SUCCESS(rc))
