Index: /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
===================================================================
--- /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 75874)
+++ /trunk/src/VBox/Devices/VMMDev/VMMDev.cpp	(revision 75875)
@@ -360,9 +360,14 @@
      */
     VMSTATE enmVMState = PDMDevHlpVMState(pThis->pDevInsR3);
-/** @todo r=bird: Shouldn't there be more states here?  Wouldn't we drop
- *        notifications now when we're in the process of suspending or
- *        similar? */
     if (   enmVMState == VMSTATE_RUNNING
-        || enmVMState == VMSTATE_RUNNING_LS)
+        || enmVMState == VMSTATE_RUNNING_LS
+        || enmVMState == VMSTATE_LOADING
+        || enmVMState == VMSTATE_RESUMING
+        || enmVMState == VMSTATE_SUSPENDING
+        || enmVMState == VMSTATE_SUSPENDING_LS
+        || enmVMState == VMSTATE_SUSPENDING_EXT_LS
+        || enmVMState == VMSTATE_DEBUGGING
+        || enmVMState == VMSTATE_DEBUGGING_LS
+       )
     {
         PDMCritSectEnter(&pThis->CritSect, VERR_IGNORED);
@@ -370,4 +375,6 @@
         PDMCritSectLeave(&pThis->CritSect);
     }
+    else
+        LogRel(("VMMDevNotifyGuest: fAddEvents=%#x ignored because enmVMState=%d\n", fAddEvents, enmVMState));
 }
 
Index: /trunk/src/VBox/HostServices/GuestControl/service.cpp
===================================================================
--- /trunk/src/VBox/HostServices/GuestControl/service.cpp	(revision 75874)
+++ /trunk/src/VBox/HostServices/GuestControl/service.cpp	(revision 75875)
@@ -1185,5 +1185,5 @@
         if (idRestoreCheck != idRestore)
         {
-            paParms[0].u.uint32 = idRestore;
+            paParms[0].u.uint64 = idRestore;
             LogFlowFunc(("[Client %RU32] GUEST_MSG_PEEK_XXXX -> VERR_VM_RESTORED (%#RX64 -> %#RX64)\n",
                          pClient->m_idClient, idRestoreCheck, idRestore));
