Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 27217)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 27218)
@@ -772,5 +772,6 @@
             CConsole console = session().GetConsole();
 
-            /* Take the screenshot for debugging purposes and save it */
+            /* Take the screenshot for debugging purposes and save it.
+             * TODO: create png's from all configured monitors if possible. */
             QString strLogFolder = console.GetMachine().GetLogFolder();
             QString strFileName = strLogFolder + "/VBox.png";
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 27217)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	(revision 27218)
@@ -975,16 +975,43 @@
                 (state != KMachineState_TeleportingPausedVM || m_previousState != KMachineState_Teleporting))
             {
-                /* Take a screen snapshot. Note that TakeScreenShot() always needs a 32bpp image: */
-                QImage shot = QImage(m_pFrameBuffer->width(), m_pFrameBuffer->height(), QImage::Format_RGB32);
-                CDisplay dsp = session().GetConsole().GetDisplay();
-                dsp.TakeScreenShot(shot.bits(), shot.width(), shot.height());
-                /* TakeScreenShot() may fail if, e.g. the Paused notification was delivered
-                 * after the machine execution was resumed. It's not fatal: */
-                if (dsp.isOk())
+                if (screenId() == 0)
                 {
-                    dimImage(shot);
-                    m_pauseShot = QPixmap::fromImage(shot);
-                    /* Fully repaint to pick up m_pauseShot: */
-                    repaint();
+                    /* Take a screen snapshot. Note that TakeScreenShot() always needs a 32bpp image: */
+                    QImage shot = QImage(m_pFrameBuffer->width(), m_pFrameBuffer->height(), QImage::Format_RGB32);
+                    CDisplay dsp = session().GetConsole().GetDisplay();
+                    dsp.TakeScreenShot(shot.bits(), shot.width(), shot.height());
+                    /* TakeScreenShot() may fail if, e.g. the Paused notification was delivered
+                     * after the machine execution was resumed. It's not fatal: */
+                    if (dsp.isOk())
+                    {
+                        dimImage(shot);
+                        m_pauseShot = QPixmap::fromImage(shot);
+                        /* Fully repaint to pick up m_pauseShot: */
+                        repaint();
+                    }
+                }else
+                {
+                    /* For secondary monitors we support 32 bit formats only for now. */
+                    if (   m_pFrameBuffer
+                        && m_pFrameBuffer->pixelFormat() == FramebufferPixelFormat_FOURCC_RGB
+                        && m_pFrameBuffer->bitsPerPixel() == 32)
+                    {
+                        BYTE *pMem;
+                        m_pFrameBuffer->GetAddress(&pMem);
+                        QImage shot = QImage(pMem, m_pFrameBuffer->width(), m_pFrameBuffer->height(), QImage::Format_RGB32);
+                        dimImage(shot);
+                        m_pauseShot = QPixmap::fromImage(shot);
+                        /* Fully repaint to pick up m_pauseShot: */
+                        repaint();
+                    }
+                    else
+                    {
+                        /* If there is no framebuffer or a unsupported format, just create a black image to show. */
+                        QImage shot = QImage(m_pFrameBuffer->width(), m_pFrameBuffer->height(), QImage::Format_RGB32);
+                        shot.fill(0);
+                        m_pauseShot = QPixmap::fromImage(shot);
+                        /* Fully repaint to pick up m_pauseShot: */
+                        repaint();
+                    }
                 }
             }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 27217)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp	(revision 27218)
@@ -595,5 +595,5 @@
     QMenu *pMenu = m_pMenuPool->createMenu(actionsPool());
 
-    /* Re-init menu pool for the case manu were recreated: */
+    /* Re-init menu pool for the case menu were recreated: */
     reinitMenuPool();
 
@@ -607,5 +607,5 @@
     QMenuBar *pMenuBar = m_pMenuPool->createMenuBar(actionsPool());
 
-    /* Re-init menu pool for the case manu were recreated: */
+    /* Re-init menu pool for the case menu were recreated: */
     reinitMenuPool();
 
