Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 73591)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 73592)
@@ -1690,7 +1690,7 @@
 void UIMessageCenter::cannotCreateHardDiskStorageInFAT(const QString &strLocation, QWidget *pParent /* = 0 */) const
 {
-    error(pParent, MessageType_Error,
+    alert(pParent, MessageType_Info,
           tr("Failed to create the hard disk storage <nobr><b>%1</b>.</nobr> FAT file systems has 4GB (minus some overhead) size limit")
-          .arg(strLocation), QString());
+          .arg(strLocation));
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 73591)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp	(revision 73592)
@@ -38,4 +38,7 @@
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
+/* Other VBox includes: */
+#include <iprt/cdefs.h>
+#include <iprt/path.h>
 
 UIWizardNewVD::UIWizardNewVD(QWidget *pParent,
@@ -115,4 +118,29 @@
 }
 
+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 73591)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.h	(revision 73592)
@@ -64,4 +64,7 @@
     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 73591)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp	(revision 73592)
@@ -47,8 +47,4 @@
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-/* Other VBox includes: */
-#include <iprt/cdefs.h>
-#include <iprt/path.h>
 
 UIWizardNewVDPage3::UIWizardNewVDPage3(const QString &strDefaultName, const QString &strDefaultPath)
@@ -262,41 +258,25 @@
     fResult = !QFileInfo(strMediumPath).exists();
     if (!fResult)
+    {
         msgCenter().cannotOverwriteHardDiskStorage(strMediumPath, this);
-
-    if (fResult)
-        fResult = checkFATSizeLimitation();
-
+        return fResult;
+    }
+
+    fResult = qobject_cast<UIWizardNewVD*>(wizard())->checkFATSizeLimitation();
     if (!fResult)
+    {
         msgCenter().cannotCreateHardDiskStorageInFAT(strMediumPath, this);
-    else
-    {
-        /* Lock finish button: */
-        startProcessing();
-
-        /* Try to create virtual hard drive file: */
-        fResult = qobject_cast<UIWizardNewVD*>(wizard())->createVirtualDisk();
-        /* Unlock finish button: */
-        endProcessing();
-    }
+        return fResult;
+    }
+
+    /* Lock finish button: */
+    startProcessing();
+
+    /* Try to create virtual hard drive file: */
+    fResult = qobject_cast<UIWizardNewVD*>(wizard())->createVirtualDisk();
+    /* Unlock finish button: */
+    endProcessing();
 
     /* Return result: */
     return fResult;
 }
-
-bool UIWizardNewVDPage3::checkFATSizeLimitation()
-{
-    QString strMediumPath(mediumPath());
-    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 (mediumSize() >= fatLimit)
-                return false;
-        }
-    }
-    return true;
-}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h	(revision 73591)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.h	(revision 73592)
@@ -45,7 +45,4 @@
     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 73591)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp	(revision 73592)
@@ -260,22 +260,25 @@
     bool fResult = true;
 
-    /* Lock finish button: */
-    startProcessing();
-
     /* Make sure such virtual-disk doesn't exists: */
     QString strMediumPath(mediumPath());
     fResult = !QFileInfo(strMediumPath).exists();
     if (!fResult)
+    {
         msgCenter().cannotOverwriteHardDiskStorage(strMediumPath, this);
-
-    if (fResult)
-        fResult = checkFATSizeLimitation();
-
+        return fResult;
+    }
+
+    fResult = qobject_cast<UIWizardNewVD*>(wizard())->checkFATSizeLimitation();
     if (!fResult)
+    {
         msgCenter().cannotCreateHardDiskStorageInFAT(strMediumPath, this);
+        return fResult;
+    }
+
+    /* Lock finish button: */
+    startProcessing();
 
     /* Try to create virtual-disk: */
-    if (fResult)
-        fResult = qobject_cast<UIWizardNewVD*>(wizard())->createVirtualDisk();
+    fResult = qobject_cast<UIWizardNewVD*>(wizard())->createVirtualDisk();
 
     /* Unlock finish button: */
