Index: /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 56550)
+++ /trunk/src/VBox/Main/src-client/ConsoleImpl.cpp	(revision 56551)
@@ -6247,8 +6247,16 @@
              * to assert on us, hence check for the VM state here and bail if it's already in the 'running' state.
              * See @bugref{3495}.
+             *
+             * Also, don't resume the VM unless it was paused previously due to a host-suspend operation.
+             * See @bugref{7836}.
              */
             enmReason = VMRESUMEREASON_HOST_RESUME;
-            if (VMR3GetStateU(ptrVM.rawUVM()) == VMSTATE_RUNNING)
+            VMSTATE enmVMState = VMR3GetStateU(ptrVM.rawUVM());
+            if (   enmVMState == VMSTATE_RUNNING
+                || (   enmVMState == VMSTATE_SUSPENDED
+                    && VMR3GetSuspendReason(ptrVM.rawUVM()) != VMSUSPENDREASON_HOST_SUSPEND))
+            {
                 return S_OK;
+            }
         }
         else if (aReason == Reason_Snapshot)
Index: /trunk/src/VBox/VMM/VMMR3/VMMR3.def
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/VMMR3.def	(revision 56550)
+++ /trunk/src/VBox/VMM/VMMR3/VMMR3.def	(revision 56551)
@@ -343,4 +343,5 @@
     VMR3GetStateName
     VMR3GetStateU
+    VMR3GetSuspendReason
     VMR3GetVM
     VMR3HotPlugCpu
