Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 39021)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 39022)
@@ -166,6 +166,7 @@
     /* And track whether we have had a "normal" resize since the last
      * fullscreen resize hint was sent: */
-    machine.SetExtraData(VBoxDefs::GUI_LastGuestSizeHintWasFullscreen,
-                         isFullscreenOrSeamless() ? "true" : "");
+    QString strKey = makeExtraDataKeyPerMonitor
+                         (VBoxDefs::GUI_LastGuestSizeHintWasFullscreen);
+    machine.SetExtraData(strKey, isFullscreenOrSeamless() ? "true" : "");
 }
 
@@ -625,6 +626,6 @@
 
     /* Load machine view hint: */
-    QString strKey = m_uScreenId == 0 ? QString("%1").arg(VBoxDefs::GUI_LastGuestSizeHint) :
-                     QString("%1%2").arg(VBoxDefs::GUI_LastGuestSizeHint).arg(m_uScreenId);
+    QString strKey = makeExtraDataKeyPerMonitor
+                         (VBoxDefs::GUI_LastGuestSizeHint);
     QString strValue = machine.GetExtraData(strKey);
 
@@ -692,6 +693,6 @@
 
     /* Save machine view hint: */
-    QString strKey = m_uScreenId == 0 ? QString("%1").arg(VBoxDefs::GUI_LastGuestSizeHint) :
-                     QString("%1%2").arg(VBoxDefs::GUI_LastGuestSizeHint).arg(m_uScreenId);
+    QString strKey = makeExtraDataKeyPerMonitor
+                         (VBoxDefs::GUI_LastGuestSizeHint);
     QString strValue = QString("%1,%2").arg(sizeHint.width()).arg(sizeHint.height());
     machine.SetExtraData(strKey, strValue);
@@ -909,4 +910,10 @@
     return    type == UIVisualStateType_Fullscreen
            || type == UIVisualStateType_Fullscreen;
+}
+
+QString UIMachineView::makeExtraDataKeyPerMonitor(QString base) const
+{
+    return m_uScreenId == 0 ? QString("%1").arg(base)
+                            : QString("%1%2").arg(base).arg(m_uScreenId);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 39021)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h	(revision 39022)
@@ -182,4 +182,5 @@
     /** Is this a fullscreen-type view? */
     bool isFullscreenOrSeamless();
+    QString makeExtraDataKeyPerMonitor(QString base) const;
 
     /* Cross-platforms event processors: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 39021)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 39022)
@@ -219,5 +219,7 @@
         /* We send a guest size hint if needed to reverse a transition
          * to fullscreen or seamless. */
-        QString strHintSent = machine.GetExtraData(VBoxDefs::GUI_LastGuestSizeHintWasFullscreen);
+        QString strKey = makeExtraDataKeyPerMonitor
+                             (VBoxDefs::GUI_LastGuestSizeHintWasFullscreen);
+        QString strHintSent = machine.GetExtraData(strKey);
         if (!strHintSent.isEmpty())
             sltPerformGuestResize(guestSizeHint());
