diff --git a/src/plugins/qt4projectmanager/profilereader.cpp b/src/plugins/qt4projectmanager/profilereader.cpp
index 8b408cc26035ee566bf367f73ca8b261aa5955f8..391a0542e79e3f525a66b9c24f21feeaab4947a1 100644
--- a/src/plugins/qt4projectmanager/profilereader.cpp
+++ b/src/plugins/qt4projectmanager/profilereader.cpp
@@ -46,7 +46,7 @@ ProFileReader::~ProFileReader()
 }
 
 void ProFileReader::setQtVersion(QtVersion *qtVersion) {
-    addProperties(qtVersion->versionInfo());
+    m_option.properties = qtVersion->versionInfo();
 }
 
 bool ProFileReader::readProFile(const QString &fileName)
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index e76a01d3f4a41b540e19b78f7b81986480fb16e2..75349d0fd52dc4c78fc9c11f7df78f80b94fa831 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -216,7 +216,6 @@ public:
 
     QHash<QString, QStringList> m_valuemap;         // VariableName must be us-ascii, the content however can be non-us-ascii.
     QHash<const ProFile*, QHash<QString, QStringList> > m_filevaluemap; // Variables per include file
-    QHash<QString, QString> m_properties;
     QString m_outputDir;
 
     bool m_definingTest;
@@ -1252,8 +1251,8 @@ QStringList ProFileEvaluator::Private::qmakeFeaturePaths() const
 
 QString ProFileEvaluator::Private::propertyValue(const QString &name, bool complain) const
 {
-    if (m_properties.contains(name))
-        return m_properties.value(name);
+    if (m_option->properties.contains(name))
+        return m_option->properties.value(name);
     if (name == QLatin1String("QMAKE_MKSPECS"))
         return qmakeMkspecPaths().join(m_option->dirlist_sep);
     if (name == QLatin1String("QMAKE_VERSION"))
@@ -2843,11 +2842,6 @@ QString ProFileEvaluator::propertyValue(const QString &name) const
     return d->propertyValue(name);
 }
 
-void ProFileEvaluator::addProperties(const QHash<QString, QString> &properties)
-{
-    updateHash(&(d->m_properties), properties);
-}
-
 void ProFileEvaluator::logMessage(const QString &message)
 {
     if (d->m_verbose && !d->m_skipLevel)
diff --git a/src/shared/proparser/profileevaluator.h b/src/shared/proparser/profileevaluator.h
index c2524660998e86cf17d9febf5127ae1db82da1e9..1e0b2f53732c53f2ef93ca62112c25dfab342336 100644
--- a/src/shared/proparser/profileevaluator.h
+++ b/src/shared/proparser/profileevaluator.h
@@ -70,6 +70,7 @@ public:
         QString dirlist_sep;
         QString qmakespec;
         QString cachefile;
+        QHash<QString, QString> properties;
 
         enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_QNX6_MODE };
         TARG_MODE target_mode;
@@ -110,7 +111,6 @@ public:
     bool queryProFile(ProFile *pro, const QString &content); // the same as above but the content is read from "content" string, not from filesystem
     bool accept(ProFile *pro);
 
-    void addProperties(const QHash<QString, QString> &properties);
     QStringList values(const QString &variableName) const;
     QStringList values(const QString &variableName, const ProFile *pro) const;
     QStringList absolutePathValues(const QString &variable, const QString &baseDirectory) const;