diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp
index d3f6a0b6eda477c5b9636e08facd3de22592e0e9..abf93ce88291ad56111f4bdaa1162dbda6d0170e 100644
--- a/src/plugins/coreplugin/filemanager.cpp
+++ b/src/plugins/coreplugin/filemanager.cpp
@@ -361,12 +361,15 @@ void FileManager::checkForNewFileName()
 QString FileManager::fixFileName(const QString &fileName)
 {
     QString s = fileName;
+    QFileInfo fi(s);
+    if (!fi.exists())
+        s = QDir::toNativeSeparators(s);
+    else
+        s = QDir::toNativeSeparators(fi.canonicalFilePath());
 #ifdef Q_OS_WIN
     s = s.toLower();
 #endif
-    if (!QFile::exists(s))
-        return QDir::toNativeSeparators(s);
-    return QFileInfo(QDir::toNativeSeparators(s)).canonicalFilePath();
+    return s;
 }
 
 /*!