diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
index 9a6f24db26d0d40ab2027cb4c3326451ffa7be47..4a79921b7321301b9438706efdb2150732abfb75 100644
--- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
@@ -34,6 +34,8 @@
 
 #include <utils/qtcassert.h>
 
+#include <QtCore/QDebug>
+
 #include <QtGui/QInputDialog>
 
 using namespace Qt4ProjectManager;
@@ -125,28 +127,34 @@ bool Qt4BuildConfiguration::fromMap(const QVariantMap &map)
     m_toolChainType = map.value(QLatin1String(TOOLCHAIN_KEY)).toInt();
     m_qmakeBuildConfiguration = QtVersion::QmakeBuildConfigs(map.value(QLatin1String(BUILD_CONFIGURATION_KEY)).toInt());
 
-    // Pick a decent Qt version if the default version is used:
+    // Pick a Qt version if the default version is used:
+    // We assume that the default Qt version as used in earlier versions of Qt creator
+    // was supporting a desktop flavor of Qt.
     if (m_qtVersionId == 0) {
         QList<QtVersion *> versions = QtVersionManager::instance()->versions();
         foreach (QtVersion *v, versions) {
-            if (v->isValid())
+            if (v->isValid() && v->supportsTargetId(QLatin1String(DESKTOP_TARGET_ID))) {
                 m_qtVersionId = v->uniqueId();
-            if (v->supportsTargetId(QLatin1String(DESKTOP_TARGET_ID)))
                 break;
+            }
         }
         if (m_qtVersionId == 0)
             m_qtVersionId = versions.at(0)->uniqueId();
     }
 
-    if (!qtVersion()->supportedTargetIds().contains(target()->id()))
+    if (!qtVersion()->isValid() || !qtVersion()->supportedTargetIds().contains(target()->id())) {
+        qWarning() << "Buildconfiguration" << displayName() << ": Qt" << qtVersion()->displayName() << "not supported by target" << target()->id();
         return false;
+    }
 
     QList<ToolChain::ToolChainType> possibleTcs(qt4Target()->filterToolChainTypes(qtVersion()->possibleToolChainTypes()));
     if (!possibleTcs.contains(toolChainType()))
         setToolChainType(qt4Target()->preferredToolChainType(possibleTcs));
 
-    if (toolChainType() == ToolChain::INVALID)
+    if (toolChainType() == ToolChain::INVALID) {
+        qWarning() << "No toolchain available for" << qtVersion()->displayName() << "used in" << target()->id() << "!";
         return false;
+    }
     return true;
 }