diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 5774b8dff3f28ed978f3b8f8a835f7c05a421bae..f28ec89eb0170ad21912253738e32bbaa60f7461 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -141,6 +141,23 @@ QtVersionManager::QtVersionManager()
     writeVersionsIntoSettings();
 
     updateDocumentation();
+
+    if (m_defaultVersion > m_versions.size() || m_defaultVersion < 0) {
+        // Invalid default version, correct that...
+        for(int i = 0; i < m_versions.size(); ++i) {
+            QtVersion *version = m_versions.at(i);
+            if (version->isAutodetected() && version->autodetectionSource() == PATH_AUTODETECTION_SOURCE && version->isValid()) {
+                m_defaultVersion = i;
+                break;
+            }
+        }
+    }
+
+    if (m_defaultVersion > m_versions.size() || m_defaultVersion < 0) {
+        // Still invalid? Use the first one
+        m_defaultVersion = 0;
+    }
+
     // cannot call from ctor, needs to get connected extenernally first
     QTimer::singleShot(0, this, SLOT(updateExamples()));
 }