Index: /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp
===================================================================
--- /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp	(revision 71084)
+++ /trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxDispIf.cpp	(revision 71085)
@@ -1508,10 +1508,9 @@
 
     vboxDispIfTargetConnectivityWDDM(&Op, iChangedMode, fEnable? 1: 0);
-
-    /* Resize displays always to keep the display layout because
-     * "the D3DKMTInvalidateActiveVidPn function always resets a multimonitor desktop to the default configuration".
-     */
-
-    if (fEnable || RT_BOOL(paDisplayDevices[iChangedMode].StateFlags & DISPLAY_DEVICE_ACTIVE))
+    
+    /* Whether the current display is already or should be enabled. */
+    BOOL fChangedEnable = fEnable || RT_BOOL(paDisplayDevices[iChangedMode].StateFlags & DISPLAY_DEVICE_ACTIVE);
+
+    if (fCurrentEnable)
     {
         RTRECTSIZE Size;
@@ -1522,28 +1521,13 @@
         LogFunc(("Calling vboxDispIfUpdateModesWDDM to change target %d mode to (%d x %d)\n", iChangedMode, Size.cx, Size.cy));
         winEr = vboxDispIfUpdateModesWDDM(&Op, iChangedMode, &Size);
-
-        if (winEr != NO_ERROR)
-            WARN(("vboxDispIfUpdateModesWDDM failed %d\n", winEr));
-    }
-
-    for (uint32_t i = 0; i < cDevModes; ++i)
-    {
+    }
+
+    winEr = vboxDispIfResizePerform(pIf, iChangedMode, fChangedEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
+
+    if (winEr == ERROR_RETRY)
+    {
+        VBoxRrRetrySchedule(pIf, iChangedMode, fChangedEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
+
         winEr = NO_ERROR;
-
-        /* Whether the current display should be enabled. */
-        BOOL fCurrentEnable = i == iChangedMode?
-                                 fEnable:
-                                 RT_BOOL(paDisplayDevices[i].StateFlags & DISPLAY_DEVICE_ACTIVE);
-
-        winEr = vboxDispIfResizePerform(pIf, i, fCurrentEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
-
-        LogFunc(("vboxDispIfResizePerform returned %d\n", winEr));
-
-        if (winEr == ERROR_RETRY)
-        {
-            VBoxRrRetrySchedule(pIf, i, fCurrentEnable, fExtDispSup, paDisplayDevices, paDeviceModes, cDevModes);
-
-            winEr = NO_ERROR;
-        }
     }
 
