Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 43394)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 43395)
@@ -29,4 +29,5 @@
 #include "UIActionPoolRuntime.h"
 #include "UIMachineLogic.h"
+#include "UIMachineView.h"
 #include "UIMachineWindow.h"
 #include "UIMachineMenuBar.h"
@@ -148,4 +149,20 @@
 }
 
+void UISession::adjustGuestView()
+{
+    foreach(UIMachineWindow *pMachineWindow, machineLogic()->machineWindows())
+    {
+        bool bAdjustPosition = True;
+        UIVisualStateType visualStateType = machineLogic()->visualStateType();
+
+        if (visualStateType == UIVisualStateType_Normal ||
+            visualStateType == UIVisualStateType_Scale)
+            bAdjustPosition = True;
+
+        /* Normalize view's geometry: */
+        pMachineWindow->machineView()->normalizeGeometry(bAdjustPosition);
+    }
+}
+
 void UISession::powerUp()
 {
@@ -198,5 +215,11 @@
     /* Show "Starting/Restoring" progress dialog: */
     if (isSaved())
+    {
         msgCenter().showModalProgressDialog(progress, machine.GetName(), ":/progress_state_restore_90px.png", mainMachineWindow(), true, 0);
+        /* If restoring from saved state, guest MachineView
+           should be notified about host MachineWindow geometry change */
+        adjustGuestView();
+
+    }
     else
         msgCenter().showModalProgressDialog(progress, machine.GetName(), ":/progress_start_90px.png", mainMachineWindow(), true);
@@ -1133,5 +1156,5 @@
     foreach (const CHostNetworkInterface &iface, vboxGlobal().host().GetNetworkInterfaces())
     {
-    	availableInterfaceNames << iface.GetName(); 
+        availableInterfaceNames << iface.GetName();
     }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.h	(revision 43394)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.h	(revision 43395)
@@ -229,4 +229,5 @@
     void reinitMenuPool();
     bool preparePowerUp();
+    void adjustGuestView();
 
 #ifdef VBOX_GUI_WITH_KEYS_RESET_HANDLER
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 43394)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.cpp	(revision 43395)
@@ -162,4 +162,9 @@
 }
 
+void UIMachineViewFullscreen::normalizeGeometry(bool /* fAdjustPosition */)
+{
+    sltPerformGuestResize(workingArea().size());
+}
+
 QRect UIMachineViewFullscreen::workingArea() const
 {
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.h	(revision 43394)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineViewFullscreen.h	(revision 43395)
@@ -65,5 +65,5 @@
 
     /* Private helpers: */
-    void normalizeGeometry(bool /* fAdjustPosition */) {}
+    void normalizeGeometry(bool /* fAdjustPosition */);
     QRect workingArea() const;
     QSize calculateMaxGuestSize() const;
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 43394)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp	(revision 43395)
@@ -227,8 +227,4 @@
     QWidget *pTopLevelWidget = window();
 
-    /* Make no normalizeGeometry in case we are in manual resize mode or main window is maximized: */
-    if (pTopLevelWidget->isMaximized())
-        return;
-
     /* Calculate client window offsets: */
     QRect frameGeo = pTopLevelWidget->frameGeometry();
