diff --git a/src/plugins/projectexplorer/debugginghelper.cpp b/src/plugins/projectexplorer/debugginghelper.cpp
index 61c5b4538d1a19a8b778a729afbfaa7bd4b48e22..de4c5abb095ab344049e28219dd58a25db4d69f9 100644
--- a/src/plugins/projectexplorer/debugginghelper.cpp
+++ b/src/plugins/projectexplorer/debugginghelper.cpp
@@ -80,22 +80,34 @@ QString DebuggingHelperLibrary::qtInstallDataDir(const QString &qmakePath)
 
 // Debugging Helper Library
 
-static inline QString helperFilePath(const QString &directory)
+static inline bool getHelperFileInfoFor(const QString &directory, QFileInfo* info)
 {
-#if defined(Q_OS_WIN)
-    return directory + QLatin1String("debug/gdbmacros.dll");
-#elif defined(Q_OS_MAC)
-    return directory + QLatin1String("libgdbmacros.dylib");
-#else // generic UNIX
-    return directory + QLatin1String("libgdbmacros.so");
-#endif
+    if (!info)
+        return false;
+
+    info->setFile(directory + QLatin1String("debug/gdbmacros.dll"));
+    if (info->exists())
+        return true;
+
+    info->setFile(directory + QLatin1String("libgdbmacros.dylib"));
+    if (info->exists())
+        return true;
+
+    info->setFile(directory + QLatin1String("libgdbmacros.so"));
+    if (info->exists())
+        return true;
+
+    return false;
 }
 
 QStringList DebuggingHelperLibrary::debuggingHelperLibraryLocationsByInstallData(const QString &qtInstallData)
 {
     QStringList result;
-    foreach(const QString &directory, debuggingHelperLibraryDirectories(qtInstallData))
-        result << QFileInfo(helperFilePath(directory)).filePath();
+    QFileInfo fileInfo;
+    foreach(const QString &directory, debuggingHelperLibraryDirectories(qtInstallData)) {
+        if (getHelperFileInfoFor(directory, &fileInfo))
+            result << fileInfo.filePath();
+    }
     return result;
 }
 
@@ -104,10 +116,12 @@ QString DebuggingHelperLibrary::debuggingHelperLibraryByInstallData(const QStrin
     const QString dumperSourcePath = Core::ICore::instance()->resourcePath() + QLatin1String("/gdbmacros/");
     QDateTime lastModified = QFileInfo(dumperSourcePath + "gdbmacros.cpp").lastModified();
 
+    QFileInfo fileInfo;
     foreach(const QString &directory, debuggingHelperLibraryDirectories(qtInstallData)) {
-        const QFileInfo fi(helperFilePath(directory));
-        if (fi.exists() && fi.lastModified() >= lastModified)
-            return fi.filePath();
+        if (getHelperFileInfoFor(directory, &fileInfo)) {
+            if (fileInfo.lastModified() >= lastModified)
+                return fileInfo.filePath();
+        }
     }
     return QString();
 }