Index: /trunk/src/VBox/Main/include/HGCM.h
===================================================================
--- /trunk/src/VBox/Main/include/HGCM.h	(revision 75990)
+++ /trunk/src/VBox/Main/include/HGCM.h	(revision 75991)
@@ -34,5 +34,5 @@
 int HGCMHostShutdown(bool fUvmIsInvalid = false);
 
-int HGCMHostReset(void);
+int HGCMHostReset(bool fForShutdown);
 
 int HGCMHostLoad(const char *pszServiceLibrary, const char *pszServiceName, PUVM pUVM, PPDMIHGCMPORT pHgcmPort);
Index: /trunk/src/VBox/Main/src-client/HGCM.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/HGCM.cpp	(revision 75990)
+++ /trunk/src/VBox/Main/src-client/HGCM.cpp	(revision 75991)
@@ -2066,4 +2066,7 @@
 class HGCMMsgMainReset: public HGCMMsgCore
 {
+    public:
+        /** Set if this is actually a shutdown and not a VM reset. */
+        bool fForShutdown;
 };
 
@@ -2307,5 +2310,7 @@
                 HGCMService::Reset();
 
-                HGCMService::BroadcastNotify(HGCMNOTIFYEVENT_RESET);
+                HGCMMsgMainReset *pMsg = (HGCMMsgMainReset *)pMsgCore;
+                if (!pMsg->fForShutdown)
+                    HGCMService::BroadcastNotify(HGCMNOTIFYEVENT_RESET);
             } break;
 
@@ -2909,5 +2914,5 @@
 #endif
 
-int HGCMHostReset(void)
+int HGCMHostReset(bool fForShutdown)
 {
     LogFlowFunc(("\n"));
@@ -2916,9 +2921,15 @@
      */
 
-    HGCMMsgCore *pMsg;
-    int rc = hgcmMsgAlloc(g_pHgcmThread, &pMsg, HGCM_MSG_RESET, hgcmMainMessageAlloc);
+    HGCMMsgCore *pMsgCore;
+    int rc = hgcmMsgAlloc(g_pHgcmThread, &pMsgCore, HGCM_MSG_RESET, hgcmMainMessageAlloc);
 
     if (RT_SUCCESS(rc))
+    {
+        HGCMMsgMainReset *pMsg = (HGCMMsgMainReset *)pMsgCore;
+
+        pMsg->fForShutdown = fForShutdown;
+
         rc = hgcmMsgSend(pMsg);
+    }
 
     LogFlowFunc(("rc = %Rrc\n", rc));
@@ -2956,5 +2967,5 @@
      */
 
-    int rc = HGCMHostReset();
+    int rc = HGCMHostReset(true /*fForShutdown*/);
 
     if (RT_SUCCESS(rc))
Index: /trunk/src/VBox/Main/src-client/VMMDevInterface.cpp
===================================================================
--- /trunk/src/VBox/Main/src-client/VMMDevInterface.cpp	(revision 75990)
+++ /trunk/src/VBox/Main/src-client/VMMDevInterface.cpp	(revision 75991)
@@ -827,5 +827,5 @@
     LogFlow(("VMMDev::drvReset: iInstance=%d\n", pDrvIns->iInstance));
 #ifdef VBOX_WITH_HGCM
-    HGCMHostReset();
+    HGCMHostReset(false /*fForShutdown*/);
 #endif
 }
