Index: /trunk/include/VBox/VMMDev.h
===================================================================
--- /trunk/include/VBox/VMMDev.h	(revision 22703)
+++ /trunk/include/VBox/VMMDev.h	(revision 22704)
@@ -257,6 +257,9 @@
 /** The guest can read VMMDev events to find out about pointer movement */
 #define VMMDEV_MOUSE_GUEST_USES_VMMDEV                      RT_BIT(4)
+/** If the guest changes the status of the
+ * VMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR bit, the host will honour this */
+#define VMMDEV_MOUSE_HOST_RECHECKS_NEEDS_HOST_CURSOR        RT_BIT(5)
 /** The mask of all VMMDEV_MOUSE_* flags */
-#define VMMDEV_MOUSE_MASK                                   UINT32_C(0x0000001f)
+#define VMMDEV_MOUSE_MASK                                   UINT32_C(0x0000003f)
 /** The mask of guest capability changes for which notification events should
  * be sent */
Index: /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 22703)
+++ /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 22704)
@@ -2500,4 +2500,6 @@
     pThis->u32HGCMEnabled = 0;
 #endif /* VBOX_WITH_HGCM */
+    /* The GUI checks whether this changes in this version of VirtualBox. */
+    pThis->mouseCapabilities |= VMMDEV_MOUSE_HOST_RECHECKS_NEEDS_HOST_CURSOR;
 
     return rc;
