diff --git a/src/backend/backend.cpp b/src/backend/backend.cpp
index ccf97823c0497081683f577e7b767e26ada0311f..8952a78b0ea31fae997c80e9186562dc1fac70d9 100644
--- a/src/backend/backend.cpp
+++ b/src/backend/backend.cpp
@@ -64,7 +64,8 @@ Backend::Backend(QObject *parent)
     connect(&Logger::instance(), &Logger::logMessage, this, [this](QtMsgType type, QString &msg) {
         // if we have any active project running, then reroute
         // all the logs to the dsmanager with the last project sender id
-        if (m_projectManager && m_lastSessionId == m_projectManager->sessionId()) {
+        if (m_projectManager && !m_lastSessionId.isEmpty()
+            && m_lastSessionId == m_projectManager->sessionId()) {
             QMetaObject::invokeMethod(m_dsManager.get(),
                                       "sendProjectLogs",
                                       Qt::QueuedConnection,
diff --git a/src/backend/importdummy.qml b/src/backend/importdummy.qml
index 334e5ae6b8b9973c1a17d7bb6d808374aa55170b..f6836ef26b46f663c209318b670c7f5157e52c1d 100644
--- a/src/backend/importdummy.qml
+++ b/src/backend/importdummy.qml
@@ -31,6 +31,8 @@ import QtQuick.Timeline.BlendTrees
 import QtQuickUltralite.Extras
 import QtQuickUltralite.Layers
 
+import QtCharts
+
 import FlowView
 import Qt.labs.folderlistmodel
 
diff --git a/src/backend/logger.h b/src/backend/logger.h
index 6635e8f7a97dc3c7fb72e24c9c99689329f49529..844f2dc084299cd535abc27c073f0ec76ec5d5ae 100644
--- a/src/backend/logger.h
+++ b/src/backend/logger.h
@@ -56,12 +56,12 @@ public:
         fprintf(stderr, "%s", qPrintable(newLog));
 #endif
 
+        emit logMessage(type, newLog);
+
         if (type == QtCriticalMsg || type == QtFatalMsg) {
             QMessageBox msgBox{QMessageBox::Critical, "Critical:", msg, QMessageBox::Ok};
             msgBox.exec();
         }
-
-        emit logMessage(type, newLog);
     }
 
 private:
diff --git a/src/backend/projectmanager.cpp b/src/backend/projectmanager.cpp
index e1c01e798e650056c0613fabeee45997b52bb524..e28f7aaa16ab856a984c54e2c24da6d63893e863 100644
--- a/src/backend/projectmanager.cpp
+++ b/src/backend/projectmanager.cpp
@@ -198,13 +198,8 @@ bool ProjectManager::isQt6Project(const QString &qmlProjectFileContent)
     return qt6ProjectMatch.hasMatch();
 }
 
-bool ProjectManager::runProject(const QByteArray &project,
-                                const bool autoScaleProject,
-                                const QString &sessionId)
+bool ProjectManager::runProjectInternal(const QByteArray &project)
 {
-    m_autoScaleProject = autoScaleProject;
-    m_sessionId = sessionId;
-
     const QString projectPath = unpackProject(project);
     qDebug() << "Project location: " << projectPath;
 
@@ -312,6 +307,21 @@ bool ProjectManager::runProject(const QByteArray &project,
     return true;
 }
 
+bool ProjectManager::runProject(const QByteArray &project,
+                                const bool autoScaleProject,
+                                const QString &sessionId)
+{
+    m_autoScaleProject = autoScaleProject;
+    m_sessionId = sessionId;
+
+    const bool retVal = runProjectInternal(project);
+
+    if (!retVal)
+        m_sessionId.clear();
+
+    return retVal;
+}
+
 void ProjectManager::orientateWindow(Qt::ScreenOrientation orientation)
 {
     if (!m_autoScaleProject)
@@ -379,11 +389,6 @@ void ProjectManager::stopProject()
     m_quickWindow->close();
 }
 
-bool ProjectManager::isRunning()
-{
-    return !m_sessionId.isEmpty();
-}
-
 QString ProjectManager::sessionId() const
 {
     return m_sessionId;
diff --git a/src/backend/projectmanager.h b/src/backend/projectmanager.h
index f434bbb58afc13fb2f59d7d3478d06b819d750a4..515ecdf8ea73a3710c9f22457473674c45cced57 100644
--- a/src/backend/projectmanager.h
+++ b/src/backend/projectmanager.h
@@ -34,7 +34,6 @@ public:
     explicit ProjectManager(QObject *parent = nullptr);
     ~ProjectManager();
 
-    bool isRunning();
     QString sessionId() const;
 
 public slots:
@@ -61,7 +60,8 @@ private:
     bool copyResourceToFs(const QString &sourcePath, const QString &targetPath);
     QString unpackProject(const QByteArray &project);
 
-    // project parsers
+    // project management
+    bool runProjectInternal(const QByteArray &project);
     QString findFile(const QString &dir, const QString &filter);
     QString readQmlProjectFile(const QString &qmlProjectFilePath);
     QString getMainQmlFile(const QString &projectPath, const QString &qmlProjectFileContent);