diff --git a/GUI/View/Main/ActionManager.cpp b/GUI/View/Main/ActionManager.cpp
index 363393c4dbb6a2c3567127fe4fbff009e7ffc5ec..3e5ce8e85ff6243d8bbbe40cb23bae8de3017f6a 100644
--- a/GUI/View/Main/ActionManager.cpp
+++ b/GUI/View/Main/ActionManager.cpp
@@ -225,6 +225,16 @@ void ActionManager::onAboutToShowSettingsMenu()
             &ProjectManager::setAutosaveEnabled);
     m_settingsMenu->addAction(action);
 
+    action = new QWidgetAction(m_settingsMenu);
+    checkBox = new QCheckBox("&Create project on startup", m_settingsMenu);
+    action->setText("&Create project on startup");
+    action->setDefaultWidget(checkBox);
+    action->setCheckable(true);
+    checkBox->setChecked(appSettings->createNewProjectOnStartup());
+    connect(checkBox, &QCheckBox::toggled,
+            [](bool b) { appSettings->setCreateNewProjectOnStartup(b); });
+    m_settingsMenu->addAction(action);
+
     m_settingsMenu->addSeparator();
 
     auto* styleMenu = m_settingsMenu->addMenu("Interface Style");
diff --git a/GUI/View/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp
index 7bdaeb4a59bf4861f8e0fdde9b79abcd06896433..af66ce8b5593570f08adb32400fa33b2f913801e 100644
--- a/GUI/View/Main/MainWindow.cpp
+++ b/GUI/View/Main/MainWindow.cpp
@@ -102,6 +102,9 @@ MainWindow::MainWindow()
     m_viewSelectionButtons->button(GUI::ID::ViewId::Projects)->setChecked(true);
 
     updateTitle();
+    if (appSettings)
+        if (appSettings->createNewProjectOnStartup())
+            m_projectManager->newProject();
 }
 
 MainWindow::~MainWindow() = default;
diff --git a/GUI/View/Widget/ApplicationSettings.cpp b/GUI/View/Widget/ApplicationSettings.cpp
index e497d6199e2f2cded789823a08f0e95710f7597e..292c6923b0db97c4b36956aa33cd27f55728d206 100644
--- a/GUI/View/Widget/ApplicationSettings.cpp
+++ b/GUI/View/Widget/ApplicationSettings.cpp
@@ -23,6 +23,7 @@
 
 namespace {
 
+const QString S_CREATE_NEW_PROJECT_ON_STARTUP = "CreateNewProjectOnStartup";
 const QString S_STYLE = "UiStyle";
 const QString S_SIZE = "Size";
 const QString S_POS = "Pos";
@@ -48,6 +49,16 @@ bool ApplicationSettings::useNativeFileDialog() const
 #endif
 }
 
+bool ApplicationSettings::createNewProjectOnStartup() const
+{
+    return QSettings().value(S_CREATE_NEW_PROJECT_ON_STARTUP, false).toBool();
+}
+
+void ApplicationSettings::setCreateNewProjectOnStartup(bool b)
+{
+    QSettings().setValue(S_CREATE_NEW_PROJECT_ON_STARTUP, b);
+}
+
 ApplicationSettings::Style ApplicationSettings::styleToUse() const
 {
     return static_cast<Style>(QSettings().value(S_STYLE, static_cast<int>(Style::light)).toInt());
diff --git a/GUI/View/Widget/ApplicationSettings.h b/GUI/View/Widget/ApplicationSettings.h
index c2a24f7c3d1b4c4b86edbf799ddc8d6f3e0729c6..86b8a8a57b0e52ae2134293f3b097efec64f4526 100644
--- a/GUI/View/Widget/ApplicationSettings.h
+++ b/GUI/View/Widget/ApplicationSettings.h
@@ -32,6 +32,8 @@ public:
     ApplicationSettings();
 
     bool useNativeFileDialog() const;
+    bool createNewProjectOnStartup() const;
+    void setCreateNewProjectOnStartup(bool b);
     Style styleToUse() const;
     void setStyleToUse(Style style);