Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxProblemReporter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxProblemReporter.cpp	(revision 35586)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxProblemReporter.cpp	(revision 35587)
@@ -1972,4 +1972,12 @@
 }
 
+void VBoxProblemReporter::warnAboutCannotCreateMachineFolder(QWidget *pParent, const QString &strFolderName)
+{
+    message(pParent ? pParent : mainWindowShown(), Critical,
+            tr("<p>Cannot create the machine folder:</p>"
+               "<p><b>%1</b></p>"
+               "<p>Please check you have the permissions required to do so.</p>").arg(strFolderName));
+}
+
 /**
  *  @return @c true if the user has selected to continue without attaching a
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxProblemReporter.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxProblemReporter.h	(revision 35586)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxProblemReporter.h	(revision 35587)
@@ -323,4 +323,5 @@
     bool confirmVMReset (QWidget *aParent);
 
+    void warnAboutCannotCreateMachineFolder(QWidget *pParent, const QString &strFolderName);
     bool confirmHardDisklessMachine (QWidget *aParent);
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp	(revision 35586)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UINewVMWzd.cpp	(revision 35587)
@@ -266,5 +266,11 @@
 {
     /* Cleanup old folder if present: */
-    cleanupMachineFolder();
+    bool fMachineFolderDeleted = cleanupMachineFolder();
+    if (!fMachineFolderDeleted)
+    {
+        vboxProblem().warnAboutCannotCreateMachineFolder(this, m_strMachineFolder);
+        return false;
+    }
+
     /* Get VBox: */
     CVirtualBox vbox = vboxGlobal().virtualBox();
@@ -276,11 +282,16 @@
     /* Get machine directory: */
     QString strMachineFolder = fileInfo.absolutePath();
+
     /* Try to create this machine directory (and it's predecessors): */
     bool fMachineFolderCreated = QDir().mkpath(strMachineFolder);
+    if (!fMachineFolderCreated)
+    {
+        vboxProblem().warnAboutCannotCreateMachineFolder(this, strMachineFolder);
+        return false;
+    }
+
     /* Initialize machine dir value: */
-    if (fMachineFolderCreated)
-        m_strMachineFolder = strMachineFolder;
-    /* Return creation result: */
-    return fMachineFolderCreated;
+    m_strMachineFolder = strMachineFolder;
+    return true;
 }
 
@@ -289,5 +300,5 @@
     /* Return if machine folder was NOT set: */
     if (m_strMachineFolder.isEmpty())
-        return false;
+        return true;
     /* Try to cleanup this machine directory (and it's predecessors): */
     bool fMachineFolderRemoved = QDir().rmpath(m_strMachineFolder);
