Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 61448)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 61449)
@@ -4849,5 +4849,20 @@
     if (   machine.GetSessionState() == KSessionState_Locked /* precondition for CanShowConsoleWindow() */
         && machine.CanShowConsoleWindow())
-        return VBoxGlobal::switchToMachine(machine);
+    {
+        /* For the Selector UI: */
+        if (!isVMConsoleProcess())
+        {
+            /* Just switch to existing VM window: */
+            return VBoxGlobal::switchToMachine(machine);
+        }
+        /* For the Runtime UI: */
+        else
+        {
+            /* Only separate UI process can reach that place,
+             * switch to existing VM window and exit. */
+            VBoxGlobal::switchToMachine(machine);
+            return false;
+        }
+    }
 
     if (enmLaunchMode != LaunchMode_Separate)
