diff --git a/common/jobs/jobset.cpp b/common/jobs/jobset.cpp
index 13173e6e04..2a763779d6 100644
--- a/common/jobs/jobset.cpp
+++ b/common/jobs/jobset.cpp
@@ -225,7 +225,7 @@ void JOBSET::AddNewJob( wxString aType, JOB* aJob )
 
 JOBSET_OUTPUT* JOBSET::AddNewJobOutput( JOBSET_OUTPUT_TYPE aType )
 {
-    m_outputs.emplace_back( KIID().AsString(), aType);
+    m_outputs.emplace_back( KIID().AsString(), aType );
     SetDirty();
 
     return &m_outputs.back();
diff --git a/kicad/dialogs/panel_jobset.cpp b/kicad/dialogs/panel_jobset.cpp
index b603a8e7fa..f01ee2b795 100644
--- a/kicad/dialogs/panel_jobset.cpp
+++ b/kicad/dialogs/panel_jobset.cpp
@@ -797,6 +797,7 @@ void PANEL_JOBSET::OnAddOutputClick( wxCommandEvent& aEvent )
                 JOBSET_OUTPUT* output = m_jobsFile->AddNewJobOutput( jobType.first );
 
                 DIALOG_JOBSET_OUTPUT_OPTIONS dialog( m_frame, m_jobsFile.get(), output );
+
                 if (dialog.ShowModal() == wxID_OK)
                 {
                     Freeze();
diff --git a/kicad/kicad_manager_frame.cpp b/kicad/kicad_manager_frame.cpp
index 0c9039864c..e9944b4fc4 100644
--- a/kicad/kicad_manager_frame.cpp
+++ b/kicad/kicad_manager_frame.cpp
@@ -773,6 +773,13 @@ void KICAD_MANAGER_FRAME::OpenJobsFile( const wxFileName& aFileName, bool aCreat
 
         jobsFile->LoadFromFile();
 
+        if( aCreate && !aFileName.FileExists() )
+        {
+            JOBSET_OUTPUT* output = jobsFile->AddNewJobOutput( JOBSET_OUTPUT_TYPE::FOLDER );
+            output->m_outputHandler->SetOutputPath( aFileName.GetName() );
+            jobsFile->SaveToFile( wxEmptyString, true );
+        }
+
         PANEL_JOBSET* jobPanel = new PANEL_JOBSET( m_notebook, this, std::move( jobsFile ) );
         jobPanel->SetProjectTied( true );
         jobPanel->SetClosable( true );