diff --git a/GUI/Model/Job/JobsSet.cpp b/GUI/Model/Job/JobsSet.cpp
index 3b37c65155972583cbf3edf54e06c75bea9447f9..bd4e08fcea7d607f1a26965a65a3160a6cad5c00 100644
--- a/GUI/Model/Job/JobsSet.cpp
+++ b/GUI/Model/Job/JobsSet.cpp
@@ -95,7 +95,7 @@ void JobsSet::addJobItem(JobItem* job_item)
 {
     job_item->batchInfo()->setJobName(generateJobName());
     push_back(job_item);
-    emit jobAdded();
+    emit jobAdded(job_item);
 }
 
 //! restore instrument and sample model from backup for given JobItem
diff --git a/GUI/Model/Job/JobsSet.h b/GUI/Model/Job/JobsSet.h
index 11aceb8693859573d834bd16750c6d7db3973ea9..7f0661f429db174511b0fc6343bfc9088d1d8f24 100644
--- a/GUI/Model/Job/JobsSet.h
+++ b/GUI/Model/Job/JobsSet.h
@@ -52,7 +52,7 @@ public:
 signals:
     void jobMeritsAttention(JobItem* item);
     void globalProgress(int);
-    void jobAdded();
+    void jobAdded(JobItem* job_item);
     void setChanged();
 
 private slots:
diff --git a/GUI/View/Job/JobsQModel.cpp b/GUI/View/Job/JobsQModel.cpp
index 4c355186399ec16827e60625fcf9adc8d5c4cbda..fa91fd811da157e01a21ddbd6943522c8a9e52f3 100644
--- a/GUI/View/Job/JobsQModel.cpp
+++ b/GUI/View/Job/JobsQModel.cpp
@@ -26,7 +26,7 @@ JobsQModel::JobsQModel(QObject* parent)
     : QAbstractListModel(parent)
 {
     connect(gDoc->jobsRW(), &JobsSet::jobAdded, this, &JobsQModel::onJobAdded);
-    onJobAdded();
+//    onJobAdded();
 }
 
 JobsQModel::~JobsQModel() = default;
@@ -91,14 +91,12 @@ void JobsQModel::emitJobsQModelChanged(JobItem* job)
     gDoc->setModified();
 }
 
-void JobsQModel::onJobAdded()
+void JobsQModel::onJobAdded(JobItem* job)
 {
-    for (JobItem* job : *gDoc->jobsRW()) {
-        connect(job->batchInfo(), &BatchInfo::jobStatusChanged,
-                [this, job] { emitJobsQModelChanged(job); });
-        connect(job->batchInfo(), &BatchInfo::jobNameChanged,
-                [this, job] { emitJobsQModelChanged(job); });
-        connect(job->batchInfo(), &BatchInfo::jobProgressChanged,
-                [this, job] { emitJobsQModelChanged(job); });
-    }
+    connect(job->batchInfo(), &BatchInfo::jobStatusChanged,
+            [this, job] { emitJobsQModelChanged(job); });
+    connect(job->batchInfo(), &BatchInfo::jobNameChanged,
+            [this, job] { emitJobsQModelChanged(job); });
+    connect(job->batchInfo(), &BatchInfo::jobProgressChanged,
+            [this, job] { emitJobsQModelChanged(job); });
 }
diff --git a/GUI/View/Job/JobsQModel.h b/GUI/View/Job/JobsQModel.h
index 8d5047a7184dc9ad31b1c07fb05327628dc3d3ea..a6669f1805ba78d6a7234536bb2eb77a5f51c015 100644
--- a/GUI/View/Job/JobsQModel.h
+++ b/GUI/View/Job/JobsQModel.h
@@ -36,7 +36,7 @@ public:
 
 private slots:
     void emitJobsQModelChanged(JobItem* job);
-    void onJobAdded();
+    void onJobAdded(JobItem *job);
 };
 
 #endif // BORNAGAIN_GUI_VIEW_JOB_JOBSQMODEL_H