Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 73596)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 73597)
@@ -1691,5 +1691,5 @@
 {
     alert(pParent, MessageType_Info,
-          tr("Failed to create the hard disk storage <nobr><b>%1</b>.</nobr> FAT file systems have 4GB file size limit")
+          tr("Failed to create the hard disk storage <nobr><b>%1</b>.</nobr> FAT file systems have 4GB file size limit.")
           .arg(strLocation));
 }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 73596)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 73597)
@@ -38,7 +38,4 @@
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
-/* Other VBox includes: */
-#include <iprt/cdefs.h>
-#include <iprt/path.h>
 
 UIWizardNewVD::UIWizardNewVD(QWidget *pParent,
@@ -118,29 +115,4 @@
 }
 
-bool UIWizardNewVD::checkFATSizeLimitation()
-{
-    qulonglong uVariant = field("mediumVariant").toULongLong();
-    /* If the hard disk is split into 2GB parts then no need to make further checks: */
-    if (uVariant & KMediumVariant_VmdkSplit2G)
-        return true;
-
-    QString strMediumPath = field("mediumPath").toString();
-    qulonglong uSize = field("mediumSize").toULongLong();
-
-    RTFSTYPE enmType;
-    int rc = RTFsQueryType(QFileInfo(strMediumPath).absolutePath().toLatin1().constData(), &enmType);
-    if (RT_SUCCESS(rc))
-    {
-        if (enmType == RTFSTYPE_FAT)
-        {
-            /* Limit the medium size to 4GB. minus 128 MB for file overhead: */
-            qulonglong fatLimit = _4G - _128M;
-            if (uSize >= fatLimit)
-                return false;
-        }
-    }
-    return true;
-}
-
 void UIWizardNewVD::retranslateUi()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h	(revision 73596)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h	(revision 73597)
@@ -64,7 +64,4 @@
     bool createVirtualDisk();
 
-    /* Checks if the medium file is bigger than what is allowed in FAT file systems. */
-    bool checkFATSizeLimitation();
-
     /* Who will be able to create virtual-disk: */
     friend class UIWizardNewVDPageBasic3;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp	(revision 73596)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp	(revision 73597)
@@ -48,4 +48,9 @@
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
+/* Other VBox includes: */
+#include <iprt/cdefs.h>
+#include <iprt/path.h>
+
+
 UIWizardNewVDPage3::UIWizardNewVDPage3(const QString &strDefaultName, const QString &strDefaultPath)
     : m_strDefaultName(strDefaultName.isEmpty() ? QString("NewVirtualDisk1") : strDefaultName)
@@ -156,4 +161,33 @@
     AssertMsgFailed(("Extension can't be NULL!\n"));
     return QString();
+}
+
+bool UIWizardNewVDPage3::checkFATSizeLimitation()
+{
+    /* Acquire medium variant: */
+    const qulonglong uVariant = fieldImp("mediumVariant").toULongLong();
+
+    /* If the hard disk is split into 2GB parts then no need to make further checks: */
+    if (uVariant & KMediumVariant_VmdkSplit2G)
+        return true;
+
+    /* Acquire medium path and size: */
+    const QString strMediumPath = fieldImp("mediumPath").toString();
+    const qulonglong uSize = fieldImp("mediumSize").toULongLong();
+
+    RTFSTYPE enmType;
+    int rc = RTFsQueryType(QFileInfo(strMediumPath).absolutePath().toLatin1().constData(), &enmType);
+    if (RT_SUCCESS(rc))
+    {
+        if (enmType == RTFSTYPE_FAT)
+        {
+            /* Limit the medium size to 4GB. minus 128 MB for file overhead: */
+            qulonglong fatLimit = _4G - _128M;
+            if (uSize >= fatLimit)
+                return false;
+        }
+    }
+
+    return true;
 }
 
@@ -254,6 +288,6 @@
     bool fResult = true;
 
-    /* Make sure such file doesn't exists already: */
-    QString strMediumPath(mediumPath());
+    /* Make sure such file doesn't exist already: */
+    const QString strMediumPath(mediumPath());
     fResult = !QFileInfo(strMediumPath).exists();
     if (!fResult)
@@ -263,5 +297,6 @@
     }
 
-    fResult = qobject_cast<UIWizardNewVD*>(wizard())->checkFATSizeLimitation();
+    /* Make sure we are passing FAT size limitation: */
+    fResult = checkFATSizeLimitation();
     if (!fResult)
     {
@@ -272,6 +307,5 @@
     /* Lock finish button: */
     startProcessing();
-
-    /* Try to create virtual hard drive file: */
+    /* Try to create virtual-disk: */
     fResult = qobject_cast<UIWizardNewVD*>(wizard())->createVirtualDisk();
     /* Unlock finish button: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h	(revision 73596)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h	(revision 73597)
@@ -45,4 +45,7 @@
     static QString absoluteFilePath(const QString &strFileName, const QString &strDefaultPath);
     static QString defaultExtension(const CMediumFormat &mediumFormatRef);
+
+    /* Checks if the medium file is bigger than what is allowed in FAT file systems. */
+    bool checkFATSizeLimitation();
 
     /* Stuff for 'mediumPath' field: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp	(revision 73596)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp	(revision 73597)
@@ -260,6 +260,6 @@
     bool fResult = true;
 
-    /* Make sure such virtual-disk doesn't exists: */
-    QString strMediumPath(mediumPath());
+    /* Make sure such file doesn't exist already: */
+    const QString strMediumPath(mediumPath());
     fResult = !QFileInfo(strMediumPath).exists();
     if (!fResult)
@@ -269,5 +269,6 @@
     }
 
-    fResult = qobject_cast<UIWizardNewVD*>(wizard())->checkFATSizeLimitation();
+    /* Make sure we are passing FAT size limitation: */
+    fResult = checkFATSizeLimitation();
     if (!fResult)
     {
@@ -278,8 +279,6 @@
     /* Lock finish button: */
     startProcessing();
-
     /* Try to create virtual-disk: */
     fResult = qobject_cast<UIWizardNewVD*>(wizard())->createVirtualDisk();
-
     /* Unlock finish button: */
     endProcessing();
