Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp	(revision 30013)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp	(revision 30014)
@@ -541,6 +541,18 @@
         if (ok /* if previous parameters were read correctly */)
         {
-            m_normalGeometry = QRect(x, y, w, h);
-            setGeometry(m_normalGeometry);
+            if (machine.GetState() == KMachineState_Saved)
+            {
+                /* restore from a saved state: restore window size and position */
+                m_normalGeometry = QRect(x, y, w, h);
+                setGeometry(m_normalGeometry);
+            }
+            else
+            {
+                /* not restored from a saved state: restore only the last position */
+                move(x, y);
+                if (machineView())
+                    machineView()->normalizeGeometry(false /* adjust position? */);
+
+            }
 
             /* Maximize if needed: */
