diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp
index 164c1e47361b17d88375c7fbda08401b38f3b493..169e2340f0f17920e8ac8076184f83803fb1d907 100644
--- a/src/plugins/projectexplorer/settingsaccessor.cpp
+++ b/src/plugins/projectexplorer/settingsaccessor.cpp
@@ -54,6 +54,19 @@
 
 using namespace Utils;
 
+namespace {
+static QString generateSuffix(const QString &alt1, const QString &alt2)
+{
+    QString suffix = alt1;
+    if (suffix.isEmpty())
+        suffix = alt2;
+    suffix.replace(QRegExp(QLatin1String("[^a-zA-Z0-9_.-]")), QString(QLatin1Char('_'))); // replace fishy characters:
+    if (!suffix.startsWith(QLatin1String(".")))
+        suffix.prepend(QLatin1Char('.'));
+    return suffix;
+}
+} // end namespace
+
 namespace ProjectExplorer {
 namespace Internal {
 
@@ -877,7 +890,7 @@ SettingsAccessor::FileAccessor::FileAccessor(const QString &defaultSuffix,
     , m_accessor(accessor)
     , m_writer(0)
 {
-    assignSuffix(defaultSuffix, environmentSuffix);
+    m_suffix = generateSuffix(environmentSuffix, defaultSuffix);
 }
 
 SettingsAccessor::FileAccessor::~FileAccessor()
@@ -885,18 +898,6 @@ SettingsAccessor::FileAccessor::~FileAccessor()
     delete m_writer;
 }
 
-void SettingsAccessor::FileAccessor::assignSuffix(const QString &defaultSuffix,
-                                                  const QString &environmentSuffix)
-{
-    if (!environmentSuffix.isEmpty()) {
-        m_suffix = environmentSuffix;
-        m_suffix.replace(QRegExp(QLatin1String("[^a-zA-Z0-9_.-]")), QString(QLatin1Char('_'))); // replace fishy characters:
-        m_suffix.prepend(QLatin1Char('.'));
-    } else {
-        m_suffix = defaultSuffix;
-    }
-}
-
 bool SettingsAccessor::FileAccessor::readFile(SettingsData *settings) const
 {
     if (settings->fileName().isEmpty()) {
diff --git a/src/plugins/projectexplorer/settingsaccessor.h b/src/plugins/projectexplorer/settingsaccessor.h
index e6bfac4e88fbba18b40a6c428ec648be9501977b..99dc4a39a65eebb92c9e7f1c5d7a347e638781d1 100644
--- a/src/plugins/projectexplorer/settingsaccessor.h
+++ b/src/plugins/projectexplorer/settingsaccessor.h
@@ -104,8 +104,6 @@ private:
         QString suffix() const { return m_suffix; }
 
     private:
-        void assignSuffix(const QString &defaultSuffix, const QString &environmentSuffix);
-
         QString m_suffix;
         bool m_environmentSpecific;
         SettingsAccessor *m_accessor;