diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 4f44b555f97da0c4abd6cca7c15632168f687694..bcd9701d668ddc4b7c4476bbc12971389dd6081c 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -305,12 +305,20 @@ void QtVersionManager::addNewVersionsFromInstaller()
     // NewQtVersions="versionname=pathtoversion=mingw=s60sdk=gcce=carbide;"
     // Duplicate entries are not added, the first new version is set as default.
     QSettings *settings = Core::ICore::instance()->settings();
+    QSettings *globalSettings = Core::ICore::instance()->settings(QSettings::SystemScope);
 
-    if (!settings->contains(newQtVersionsKey) &&
-        !settings->contains(QLatin1String("Installer/")+newQtVersionsKey))
+    QDateTime lastUpdateFromGlobalSettings = globalSettings->value(
+            QLatin1String("General/LastQtVersionUpdate")).toDateTime();
+
+    const QFileInfo gsFi(globalSettings->fileName());
+    if (!gsFi.exists() || (gsFi.lastModified() > lastUpdateFromGlobalSettings))
         return;
 
-//    qDebug()<<"QtVersionManager::addNewVersionsFromInstaller()";
+    if (!globalSettings->contains(newQtVersionsKey) &&
+        !globalSettings->contains(QLatin1String("Installer/")+newQtVersionsKey))
+    {
+        return;
+    }
 
     QString newVersionsValue = settings->value(newQtVersionsKey).toString();
     if (newVersionsValue.isEmpty())
@@ -353,9 +361,8 @@ void QtVersionManager::addNewVersionsFromInstaller()
             }
         }
     }
-    settings->remove(newQtVersionsKey);
-    settings->remove(QLatin1String("Installer/")+newQtVersionsKey);
     updateUniqueIdToIndexMap();
+    settings->setValue(QLatin1String("General/LastQtVersionUpdate"), QDateTime::currentDateTime());
 }
 
 void QtVersionManager::updateSystemVersion()