diff --git a/src/plugins/madde/maemoqtversion.cpp b/src/plugins/madde/maemoqtversion.cpp
index 78d39bdaf5861219cbe829699b974170af5cf1a2..6178e9d21246d4fdad7cbc6d21ea96a613a1a9b6 100644
--- a/src/plugins/madde/maemoqtversion.cpp
+++ b/src/plugins/madde/maemoqtversion.cpp
@@ -47,7 +47,10 @@ using namespace Qt4ProjectManager;
 namespace Madde {
 namespace Internal {
 
-MaemoQtVersion::MaemoQtVersion() : QtSupport::BaseQtVersion()
+MaemoQtVersion::MaemoQtVersion()
+    : QtSupport::BaseQtVersion(),
+      m_isvalidVersion(false),
+      m_initialized(false)
 {
 
 }
@@ -55,7 +58,8 @@ MaemoQtVersion::MaemoQtVersion() : QtSupport::BaseQtVersion()
 MaemoQtVersion::MaemoQtVersion(const Utils::FileName &path, bool isAutodetected, const QString &autodetectionSource)
     : QtSupport::BaseQtVersion(path, isAutodetected, autodetectionSource),
       m_osType(MaemoGlobal::osType(path.toString())),
-      m_isvalidVersion(MaemoGlobal::isValidMaemoQtVersion(path.toString(), m_osType))
+      m_isvalidVersion(false),
+      m_initialized(false)
 {
 
 }
@@ -70,7 +74,6 @@ void MaemoQtVersion::fromMap(const QVariantMap &map)
     QtSupport::BaseQtVersion::fromMap(map);
     QString path = qmakeCommand().toString();
     m_osType = MaemoGlobal::osType(path);
-    m_isvalidVersion = MaemoGlobal::isValidMaemoQtVersion(path, m_osType);
 }
 
 QString MaemoQtVersion::type() const
@@ -80,7 +83,13 @@ QString MaemoQtVersion::type() const
 
 bool MaemoQtVersion::isValid() const
 {
-    return BaseQtVersion::isValid() && m_isvalidVersion;
+    if (!BaseQtVersion::isValid())
+        return false;
+    if (!m_initialized) {
+        m_isvalidVersion = MaemoGlobal::isValidMaemoQtVersion(qmakeCommand().toString(), m_osType);
+        m_initialized = true;
+    }
+    return m_isvalidVersion;
 }
 
 MaemoQtVersion *MaemoQtVersion::clone() const
@@ -113,7 +122,7 @@ QString MaemoQtVersion::systemRoot() const
 QList<ProjectExplorer::Abi> MaemoQtVersion::detectQtAbis() const
 {
     QList<ProjectExplorer::Abi> result;
-    if (!m_isvalidVersion)
+    if (!isValid())
         return result;
     if (m_osType == QLatin1String(Maemo5OsType)) {
         result.append(ProjectExplorer::Abi(ProjectExplorer::Abi::ArmArchitecture, ProjectExplorer::Abi::LinuxOS,
@@ -140,7 +149,7 @@ bool MaemoQtVersion::supportsTargetId(const QString &id) const
 QSet<QString> MaemoQtVersion::supportedTargetIds() const
 {
     QSet<QString> result;
-    if (!m_isvalidVersion)
+    if (!isValid())
         return result;
     if (m_osType == QLatin1String(Maemo5OsType)) {
         result.insert(QLatin1String(Constants::MAEMO5_DEVICE_TARGET_ID));
diff --git a/src/plugins/madde/maemoqtversion.h b/src/plugins/madde/maemoqtversion.h
index e8779dbe55592b4609a3d976e9cb08bd1720a44f..20696fbda373d4241c8062b72e41ca8dc7ace61e 100644
--- a/src/plugins/madde/maemoqtversion.h
+++ b/src/plugins/madde/maemoqtversion.h
@@ -66,6 +66,7 @@ private:
     mutable QString m_systemRoot;
     mutable QString m_osType;
     mutable bool m_isvalidVersion;
+    mutable bool m_initialized;
 };
 
 } // namespace Internal