diff --git a/src/plugins/qt4projectmanager/qtoptionspage.cpp b/src/plugins/qt4projectmanager/qtoptionspage.cpp
index 113b5f7c1a33a10ac5d8bbc563d8a0ae5a7457ed..d0e0b7d59f41031a84dc6d93c8c675074fab4909 100644
--- a/src/plugins/qt4projectmanager/qtoptionspage.cpp
+++ b/src/plugins/qt4projectmanager/qtoptionspage.cpp
@@ -596,12 +596,6 @@ void QtOptionsPageWidget::onQtBrowsed()
         return;
 
     updateCurrentQMakeLocation();
-    if (m_ui->nameEdit->text().isEmpty() || m_ui->nameEdit->text() == m_specifyNameString) {
-        QString name = ProjectExplorer::DebuggingHelperLibrary::qtVersionForQMake(QDir::cleanPath(dir));
-        if (!name.isEmpty())
-            m_ui->nameEdit->setText(name);
-        updateCurrentQtName();
-    }
     updateState();
 }
 
@@ -676,9 +670,10 @@ void QtOptionsPageWidget::updateCurrentQMakeLocation()
     if (currentItemIndex < 0)
         return;
     QtVersion *version = m_versions.at(currentItemIndex).data();
-    if (version->qmakeCommand() == m_ui->qmakePath->path())
+    QFileInfo fi(m_ui->qmakePath->path());
+    if (!fi.exists() || !fi.isFile() || version->qmakeCommand() == fi.absoluteFilePath())
         return;
-    version->setQMakeCommand(m_ui->qmakePath->path());
+    version->setQMakeCommand(fi.absoluteFilePath());
     currentItem->setText(1, QDir::toNativeSeparators(version->qmakeCommand()));
     showEnvironmentPage(currentItem);
 
@@ -692,6 +687,13 @@ void QtOptionsPageWidget::updateCurrentQMakeLocation()
         m_ui->rebuildButton->setEnabled(false);
     }
     updateDebuggingHelperStateLabel(version);
+
+    if (m_ui->nameEdit->text().isEmpty() || m_ui->nameEdit->text() == m_specifyNameString) {
+        QString name = ProjectExplorer::DebuggingHelperLibrary::qtVersionForQMake(version->qmakeCommand());
+        if (!name.isEmpty())
+            m_ui->nameEdit->setText(name);
+        updateCurrentQtName();
+    }
 }
 
 void QtOptionsPageWidget::updateCurrentMingwDirectory()