Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp	(revision 87774)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp	(revision 87775)
@@ -24,4 +24,5 @@
 #include "UIConverter.h"
 #include "UIWizardNewVDPageBasic1.h"
+#include "UIWizardNewVDPageBasic3.h"
 #include "UIWizardNewVD.h"
 #include "UICommon.h"
@@ -71,4 +72,5 @@
         m_formatNames << medFormat.GetName();
         m_pFormatButtonGroup->addButton(pFormatButton, m_formatNames.size() - 1);
+        m_formatExtensions << UIWizardNewVDPage3::defaultExtension(medFormat);
     }
 }
@@ -204,3 +206,2 @@
     return UIWizardNewVD::Page3;
 }
-
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.h	(revision 87774)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.h	(revision 87775)
@@ -55,4 +55,5 @@
     QList<CMediumFormat> m_formats;
     QStringList m_formatNames;
+    QStringList m_formatExtensions;
 };
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h	(revision 87774)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h	(revision 87775)
@@ -36,4 +36,9 @@
 class SHARED_LIBRARY_STUFF UIWizardNewVDPage3 : public UIWizardPageBase
 {
+
+public:
+
+    static QString defaultExtension(const CMediumFormat &mediumFormatRef);
+
 protected:
 
@@ -50,5 +55,4 @@
     /* Returns the full image file path including the extension. */
     static QString absoluteFilePath(const QString &strFileName, const QString &strPath, const QString &strExtension);
-    static QString defaultExtension(const CMediumFormat &mediumFormatRef);
 
     /* Checks if the medium file is bigger than what is allowed in FAT file systems. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp	(revision 87774)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp	(revision 87775)
@@ -213,5 +213,6 @@
         if (fileInfo.suffix() != m_strDefaultExtension)
         {
-            QFileInfo newFileInfo(fileInfo.absolutePath(), QString("%1.%2").arg(fileInfo.completeBaseName()).arg(m_strDefaultExtension));
+            QFileInfo newFileInfo(fileInfo.absolutePath(),
+                                  QString("%1.%2").arg(stripFormatExtension(fileInfo.fileName())).arg(m_strDefaultExtension));
             m_pLocationEditor->setText(newFileInfo.absoluteFilePath());
         }
@@ -296,2 +297,19 @@
     return fResult;
 }
+
+QString UIWizardNewVDPageExpert::stripFormatExtension(const QString &strFileName)
+{
+    QString result(strFileName);
+    foreach (const QString &strExtension, m_formatExtensions)
+    {
+        if (strFileName.endsWith(strExtension, Qt::CaseInsensitive))
+        {
+            /* Add the dot to extenstion: */
+            QString strExtensionWithDot(strExtension);
+            strExtensionWithDot.prepend('.');
+            int iIndex = strFileName.lastIndexOf(strExtensionWithDot, -1, Qt::CaseInsensitive);
+            result.remove(iIndex, strExtensionWithDot.length());
+        }
+    }
+    return result;
+}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.h	(revision 87774)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.h	(revision 87775)
@@ -73,4 +73,7 @@
     bool isComplete() const;
     bool validatePage();
+    /** Strips the format extension from the @p strFileName. foo.dd.vdi becomes foo.dd. any extension which is not
+      * a format extension is left alone. */
+    QString stripFormatExtension(const QString &strFileName);
 
     /* Widgets: */
