diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp
index c0abba1484a27941ebbe898d7612d0dbfe7b7ab0..db6a0129fe3b70196f6610cd08629fdad9a86151 100644
--- a/src/libs/utils/pathchooser.cpp
+++ b/src/libs/utils/pathchooser.cpp
@@ -156,10 +156,12 @@ void PathChooser::setBaseDirectory(const QString &directory)
 QString PathChooser::path() const
 {
     const QString path = m_d->m_lineEdit->text();
-    if (!m_d->m_baseDirectory.isEmpty() && QFileInfo(path).isRelative())
+    if (!m_d->m_baseDirectory.isEmpty()
+            && QFileInfo(path).isRelative()
+            && !path.isEmpty())
         return QFileInfo(m_d->m_baseDirectory + QLatin1Char('/') + path).absoluteFilePath();
     else
-        return QFileInfo(path).absoluteFilePath();
+        return QDir::fromNativeSeparators(path);
 }
 
 void PathChooser::setPath(const QString &path)