Index: /trunk/src/VBox/Main/MachineImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineImpl.cpp	(revision 31045)
+++ /trunk/src/VBox/Main/MachineImpl.cpp	(revision 31046)
@@ -2712,4 +2712,5 @@
     LogFlowThisFunc(("mSession.mState=%s\n", Global::stringifySessionState(mData->mSession.mState)));
 
+    SessionState_T oldState = mData->mSession.mState;
     /* Hack: in case the session is closing and there is a progress object
      * which allows waiting for the session to be closed, take the opportunity
@@ -2977,6 +2978,7 @@
         mParent->updateClientWatcher();
 
-        /* fire an event */
-        mParent->onSessionStateChange(getId(), SessionState_Locked);
+        if (oldState != SessionState_Locked)
+            /* fire an event */
+            mParent->onSessionStateChange(getId(), SessionState_Locked);
     }
 
