Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 91340)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.cpp	(revision 91341)
@@ -1713,5 +1713,5 @@
 
 
-void UICommon::openMediumCreatorDialog(QWidget *pParent, UIMediumDeviceType enmMediumType,
+QUuid UICommon::openMediumCreatorDialog(QWidget *pParent, UIMediumDeviceType enmMediumType,
                                        const QString &strDefaultFolder /* = QString() */,
                                        const QString &strMachineName /* = QString() */,
@@ -1723,5 +1723,5 @@
     {
         case UIMediumDeviceType_HardDisk:
-            createVDWithWizard(pParent, strDefaultFolder, strMachineName, strMachineGuestOSTypeId);
+            uMediumId = createVDWithWizard(pParent, strDefaultFolder, strMachineName, strMachineGuestOSTypeId);
             break;
         case UIMediumDeviceType_DVD:
@@ -1735,9 +1735,10 @@
     }
     if (uMediumId.isNull())
-        return;
+        return QUuid();
 
     /* Update the recent medium list only if the medium type is DVD or floppy: */
     if (enmMediumType == UIMediumDeviceType_DVD || enmMediumType == UIMediumDeviceType_Floppy)
         updateRecentlyUsedMediumListAndFolder(enmMediumType, medium(uMediumId).location());
+    return uMediumId;
 }
 
@@ -1889,8 +1890,8 @@
 }
 
-void UICommon::createVDWithWizard(QWidget *pParent,
-                                  const QString &strMachineFolder /* = QString() */,
-                                  const QString &strMachineName /* = QString() */,
-                                  const QString &strMachineGuestOSTypeId  /* = QString() */)
+QUuid UICommon::createVDWithWizard(QWidget *pParent,
+                                   const QString &strMachineFolder /* = QString() */,
+                                   const QString &strMachineName /* = QString() */,
+                                   const QString &strMachineGuestOSTypeId  /* = QString() */)
 {
     /* Initialize variables: */
@@ -1913,9 +1914,11 @@
                                                          comGuestOSType.GetRecommendedHDD());
     if (!pWizard)
-        return;
+        return QUuid();
     QWidget *pDialogParent = windowManager().realParentWindow(pParent);
     windowManager().registerNewParent(pWizard, pDialogParent);
+    QUuid mediumId = pWizard->mediumId();
     pWizard->exec();
     delete pWizard;
+    return mediumId;
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h	(revision 91340)
+++ trunk/src/VBox/Frontends/VirtualBox/src/globals/UICommon.h	(revision 91341)
@@ -424,9 +424,10 @@
           * @param  strMachineFolder         Passes the machine folder,
           * @param  strMachineGuestOSTypeId  Passes the type ID of machine's guest os,
-          * @param  fEnableCreate            Passes whether to show/enable create action in the medium selector dialog. */
-        void openMediumCreatorDialog(QWidget *pParent, UIMediumDeviceType  enmMediumType,
-                                     const QString &strMachineFolder = QString(),
-                                     const QString &strMachineName = QString(),
-                                     const QString &strMachineGuestOSTypeId = QString());
+          * @param  fEnableCreate            Passes whether to show/enable create action in the medium selector dialog,
+          * returns QUuid of the new medium */
+        QUuid openMediumCreatorDialog(QWidget *pParent, UIMediumDeviceType  enmMediumType,
+                                      const QString &strMachineFolder = QString(),
+                                      const QString &strMachineName = QString(),
+                                      const QString &strMachineGuestOSTypeId = QString());
 
         /** Prepares storage menu according passed parameters.
@@ -622,9 +623,10 @@
           * @param  strMachineFolder          Passes the machine folder,
           * @param  strMachineName            Passes the name of the machine,
-          * @param  strMachineGuestOSTypeId   Passes the string of machine's guest OS type ID. */
-        void createVDWithWizard(QWidget *pParent,
-                                const QString &strMachineFolder = QString(),
-                                const QString &strMachineName = QString(),
-                                const QString &strMachineGuestOSTypeId = QString());
+          * @param  strMachineGuestOSTypeId   Passes the string of machine's guest OS type ID,
+          * returns QUuid of the created medium. */
+        QUuid createVDWithWizard(QWidget *pParent,
+                                 const QString &strMachineFolder = QString(),
+                                 const QString &strMachineName = QString(),
+                                 const QString &strMachineGuestOSTypeId = QString());
     /** @} */
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp	(revision 91340)
+++ trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSelector.cpp	(revision 91341)
@@ -449,6 +449,8 @@
 void UIMediumSelector::sltCreateMedium()
 {
-    uiCommon().openMediumCreatorDialog(this, m_enmMediumType, m_strMachineFolder,
-                                       m_strMachineName, m_strMachineGuestOSTypeId);
+    QUuid uMediumId = uiCommon().openMediumCreatorDialog(this, m_enmMediumType, m_strMachineFolder,
+                                                         m_strMachineName, m_strMachineGuestOSTypeId);
+    /* Make sure that the data structure is updated and newly created medium is selected and visible: */
+    sltHandleMediumCreated(uMediumId);
 }
 
@@ -468,4 +470,6 @@
 void UIMediumSelector::sltHandleMediumCreated(const QUuid &uMediumId)
 {
+    if (uMediumId.isNull())
+        return;
     /* Update the tree widget making sure we show the new item: */
     repopulateTreeWidget();
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 91340)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 91341)
@@ -88,4 +88,9 @@
 }
 
+QUuid UIWizardNewVD::mediumId() const
+{
+    return m_uMediumId;
+}
+
 void UIWizardNewVD::populatePages()
 {
@@ -143,4 +148,7 @@
     connect(pNotification, &UINotificationProgressMediumCreate::sigMediumCreated,
             &uiCommon(), &UICommon::sltHandleMediumCreated);
+
+    m_uMediumId = comVirtualDisk.GetId();
+
     gpNotificationCenter->append(pNotification);
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h	(revision 91340)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h	(revision 91341)
@@ -56,4 +56,6 @@
        qulonglong mediumSize() const;
        void setMediumSize(qulonglong mediumSize);
+
+       QUuid mediumId() const;
     /** @} */
 
@@ -75,4 +77,5 @@
     qulonglong  m_uDefaultSize;
     int m_iMediumVariantPageIndex;
+    QUuid m_uMediumId;
 };
 
