Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 57076)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 57080)
@@ -3971,5 +3971,5 @@
     initDebuggerVar(&m_fDbgAutoShow, "VBOX_GUI_DBG_AUTO_SHOW", GUI_Dbg_AutoShow, false);
     m_fDbgAutoShowCommandLine = m_fDbgAutoShowStatistics = m_fDbgAutoShow;
-    mStartPaused = false;
+    m_enmStartRunning = StartRunning_Default;
 #endif
 
@@ -4109,5 +4109,4 @@
             setDebuggerVar(&m_fDbgAutoShowCommandLine, true);
             setDebuggerVar(&m_fDbgAutoShowStatistics, true);
-            mStartPaused = true;
         }
         else if (!::strcmp(arg, "--debug-command-line"))
@@ -4116,5 +4115,4 @@
             setDebuggerVar(&m_fDbgAutoShow, true);
             setDebuggerVar(&m_fDbgAutoShowCommandLine, true);
-            mStartPaused = true;
         }
         else if (!::strcmp(arg, "--debug-statistics"))
@@ -4123,5 +4121,4 @@
             setDebuggerVar(&m_fDbgAutoShow, true);
             setDebuggerVar(&m_fDbgAutoShowStatistics, true);
-            mStartPaused = true;
         }
         else if (!::strcmp(arg, "-no-debug") || !::strcmp(arg, "--no-debug"))
@@ -4134,7 +4131,7 @@
         /* Not quite debug options, but they're only useful with the debugger bits. */
         else if (!::strcmp(arg, "--start-paused"))
-            mStartPaused = true;
+            m_enmStartRunning = StartRunning_No;
         else if (!::strcmp(arg, "--start-running"))
-            mStartPaused = false;
+            m_enmStartRunning = StartRunning_Yes;
 #endif
         /** @todo add an else { msgbox(syntax error); exit(1); } here, pretty please... */
@@ -4206,5 +4203,5 @@
         {
             m_hVBoxDbg = NIL_RTLDRMOD;
-            m_fDbgAutoShow =  m_fDbgAutoShowCommandLine = m_fDbgAutoShowStatistics = false;
+            m_fDbgAutoShow = m_fDbgAutoShowCommandLine = m_fDbgAutoShowStatistics = false;
             LogRel(("Failed to load VBoxDbg, rc=%Rrc - %s\n", vrc, ErrInfo.Core.pszMsg));
         }
@@ -4391,5 +4388,5 @@
                  || pStr->startsWith("f")  // false
                  || pStr->startsWith("off")
-                 || pStr->contains("veto")
+                 || pStr->contains("veto") /* paranoia */
                  || pStr->toLongLong() == 0)
             *piDbgCfgVar = VBOXGLOBAL_DBG_CFG_VAR_FALSE;
Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 57076)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 57080)
@@ -81,4 +81,12 @@
     };
 
+    /** Whether to start the VM running. */
+    enum StartRunning
+    {
+        StartRunning_Default,   /**< Default (depends on debug settings). */
+        StartRunning_No,        /**< Start the VM paused. */
+        StartRunning_Yes        /**< Start the VM running. */
+    };
+
     /* Static API: Create/destroy stuff: */
     static VBoxGlobal* instance();
@@ -182,7 +190,14 @@
 
     RTLDRMOD getDebuggerModule() const { return m_hVBoxDbg; }
-
-    bool isStartPausedEnabled() const { return mStartPaused; }
 #endif /* VBOX_WITH_DEBUGGER_GUI */
+
+    bool shouldStartPaused() const
+    {
+#ifdef VBOX_WITH_DEBUGGER_GUI
+        return m_enmStartRunning == StartRunning_Default ? isDebuggerAutoShowEnabled() : m_enmStartRunning == StartRunning_No;
+#else
+        return false;
+#endif
+    }
 
     /* VBox enum to/from string/icon/color convertors */
@@ -531,6 +546,6 @@
     RTLDRMOD m_hVBoxDbg;
 
-    /** Whether to start the VM in paused state or not. */
-    bool mStartPaused;
+    /** Whether --start-running, --start-paused or nothing was given. */
+    enum StartRunning m_enmStartRunning;
 #endif
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 57076)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 57080)
@@ -856,5 +856,5 @@
     /* HACK ALERT! Really ugly workaround for the resizing to 9x1 done by DevVGA if provoked before power on. */
     if (size.width() < 16 || size.height() < 16)
-        if (vboxGlobal().isStartPausedEnabled() || vboxGlobal().isDebuggerAutoShowEnabled())
+        if (vboxGlobal().shouldStartPaused() || vboxGlobal().isDebuggerAutoShowEnabled())
             size = QSize(640, 480);
 #endif /* !VBOX_WITH_DEBUGGER_GUI */
Index: trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 57076)
+++ trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 57080)
@@ -258,10 +258,5 @@
 {
     /* Power UP machine: */
-#ifdef VBOX_WITH_DEBUGGER_GUI
-    CProgress progress = vboxGlobal().isStartPausedEnabled() || vboxGlobal().isDebuggerAutoShowEnabled() ?
-                         console().PowerUpPaused() : console().PowerUp();
-#else /* !VBOX_WITH_DEBUGGER_GUI */
-    CProgress progress = console().PowerUp();
-#endif /* !VBOX_WITH_DEBUGGER_GUI */
+    CProgress progress = vboxGlobal().shouldStartPaused() ? console().PowerUpPaused() : console().PowerUp();
 
     /* Check for immediate failure: */
