Index: /trunk/src/VBox/Devices/Input/DevPS2.cpp
===================================================================
--- /trunk/src/VBox/Devices/Input/DevPS2.cpp	(revision 54734)
+++ /trunk/src/VBox/Devices/Input/DevPS2.cpp	(revision 54735)
@@ -1207,14 +1207,15 @@
             SSMR3GetS32(pSSM, &i32Dummy);
         }
-        SSMR3GetU8(pSSM, &u8Dummy);
+        rc = SSMR3GetU8(pSSM, &u8Dummy);
         if (version_id == 4)
         {
             SSMR3GetU32(pSSM, &u32Dummy);
-            SSMR3GetU32(pSSM, &u32Dummy);
+            rc = SSMR3GetU32(pSSM, &u32Dummy);
         }
         if (version_id > 3)
-            SSMR3GetU8(pSSM, &u8Dummy);
+            rc = SSMR3GetU8(pSSM, &u8Dummy);
         if (version_id == 4)
-            SSMR3GetU8(pSSM, &u8Dummy);
+            rc = SSMR3GetU8(pSSM, &u8Dummy);
+        AssertLogRelRCReturn(rc, rc);
 
         PS2MFixupState(&s->Aux, u8State, u8Rate, u8Proto);
Index: /trunk/src/VBox/Devices/Input/PS2M.cpp
===================================================================
--- /trunk/src/VBox/Devices/Input/PS2M.cpp	(revision 54734)
+++ /trunk/src/VBox/Devices/Input/PS2M.cpp	(revision 54735)
@@ -441,5 +441,5 @@
 static void ps2mSetRate(PPS2M pThis, uint8_t rate)
 {
-    pThis->uThrottleDelay = 1000 / rate;
+    pThis->uThrottleDelay = rate ? 1000 / rate : 0;
     pThis->u8SampleRate = rate;
     LogFlowFunc(("Sampling rate %u, throttle delay %u ms\n", pThis->u8SampleRate, pThis->uThrottleDelay));
