diff --git a/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.cpp b/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.cpp
index 1d5d1920839911c4d911968cec8d0997e32edcfb..e3cc4980000be164bc4c1c6f9b1f020b4a73b82e 100644
--- a/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.cpp
+++ b/GUI/coregui/Views/JobWidgets/ParameterTuningDelegate.cpp
@@ -103,8 +103,8 @@ ParameterTuningDelegate::ParameterTuningDelegate(QObject *parent)
 
 ParameterTuningDelegate::~ParameterTuningDelegate()
 {
-    if(m_currentItem)
-        m_currentItem->mapper()->unsubscribe(this);
+//    if(m_currentItem)
+//        m_currentItem->mapper()->unsubscribe(this);
 
 }
 
@@ -195,15 +195,16 @@ QWidget *ParameterTuningDelegate::createEditor(QWidget *parent,
         m_contentLayout->addWidget(m_valueBox);
         m_contentLayout->addWidget(m_slider);
 
-        m_currentItem->mapper()->setOnValueChange(
-                      [this](){
-              m_valueBox->setValue(m_currentItem->value().toDouble());
-        }, this);
+        // FIXME there is an issue with time of life of editor .vs. item
+//        m_currentItem->mapper()->setOnValueChange(
+//                      [this](){
+//              m_valueBox->setValue(m_currentItem->value().toDouble());
+//        }, this);
 
-        m_currentItem->mapper()->setOnItemDestroy(
-                    [this](SessionItem *) {
-            m_currentItem = 0;
-        }, this);
+//        m_currentItem->mapper()->setOnItemDestroy(
+//                    [this](SessionItem *) {
+//            m_currentItem = 0;
+//        }, this);
 
         m_contentWidget->setLayout(m_contentLayout);
 
diff --git a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp
index 519bce9826a914977ee7592c911535984185a804..90ba9dd1c572d5c03ee4c0f2d49e9008c668cd92 100644
--- a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp
+++ b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.cpp
@@ -202,6 +202,8 @@ void ParameterTuningWidget::restoreModelsOfCurrentJobItem()
     if(m_currentJobItem->isRunning())
         return;
 
+    closeActiveEditors();
+
     m_jobModel->restore(m_currentJobItem);
     m_jobModel->runJob(m_currentJobItem->index());
 }
@@ -299,13 +301,18 @@ void ParameterTuningWidget::setTuningDelegateEnabled(bool enabled)
 
     } else {
         m_delegate->setReadOnly(true);
-        QModelIndex index = m_treeView->currentIndex();
-        QWidget *editor = m_treeView->indexWidget(index);
-        if(editor) {
-            //m_delegate->commitData(editor);
-            m_delegate->closeEditor(editor, QAbstractItemDelegate::NoHint);
-        }
-        m_treeView->selectionModel()->clearSelection();
+        closeActiveEditors();
+    }
+}
+
+void ParameterTuningWidget::closeActiveEditors()
+{
+    QModelIndex index = m_treeView->currentIndex();
+    QWidget *editor = m_treeView->indexWidget(index);
+    if(editor) {
+        //m_delegate->commitData(editor);
+        m_delegate->closeEditor(editor, QAbstractItemDelegate::NoHint);
     }
+    m_treeView->selectionModel()->clearSelection();
 }
 
diff --git a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h
index 7d131998eff6ccdfdf468e2328508b74b0c3ea74..b659dbf380e49edfd8d7febdc4f96132d3f37276 100644
--- a/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h
+++ b/GUI/coregui/Views/JobWidgets/ParameterTuningWidget.h
@@ -68,6 +68,7 @@ private:
     void updateDragAndDropSettings();
 
     void setTuningDelegateEnabled(bool enabled);
+    void closeActiveEditors();
 
     JobModel *m_jobModel;
     JobItem *m_currentJobItem;