diff --git a/src/libs/utils/persistentsettings.cpp b/src/libs/utils/persistentsettings.cpp
index 6a9fdfddd86da4760a7e54bfb51a96731749c0b7..b09f8f4c2d6451b5f471e81dd962edc9d9424bd6 100644
--- a/src/libs/utils/persistentsettings.cpp
+++ b/src/libs/utils/persistentsettings.cpp
@@ -38,6 +38,7 @@
 
 #include <QDebug>
 #include <QFile>
+#include <QDir>
 #include <QVariant>
 #include <QStack>
 #include <QXmlStreamAttributes>
@@ -385,6 +386,8 @@ void PersistentSettingsWriter::saveValue(const QString &variable, const QVariant
 bool PersistentSettingsWriter::save(const QString &fileName, const QString &docType,
                                     QWidget *parent) const
 {
+    QDir tmp;
+    tmp.mkpath(QFileInfo(fileName).path());
     Utils::FileSaver saver(fileName, QIODevice::Text);
     if (!saver.hasError()) {
         const Context ctx;