diff --git a/GUI/View/View/InstrumentView.cpp b/GUI/View/View/InstrumentView.cpp
index e3dc36d4aed7ae1cf535f2d2c2a742ed9903d7f9..6e3fdc5959f4df0448d3aa87e75c166b146bec62 100644
--- a/GUI/View/View/InstrumentView.cpp
+++ b/GUI/View/View/InstrumentView.cpp
@@ -71,6 +71,7 @@ InstrumentView::InstrumentView()
         updateEditor();
         updateActions();
     });
+    connect(gDoc->datafiles(), &DatafilesSet::setChanged, [this] { updateActions(); });
 
     updateActions();
 }
@@ -141,9 +142,10 @@ void InstrumentView::updateActions()
 {
     ASSERT(m_set);
     bool enabled = m_set->currentIndex() != size_t(-1);
-    m_adapt_action->setEnabled(
-        !m_set->currentItem()->is<DepthprobeInstrumentItem>() && !gDoc->datafiles()->empty()
-        && m_set->currentItem()->detectorRank() == gDoc->datafiles()->currentItem()->rank());
+    m_adapt_action->setEnabled(enabled && !m_set->currentItem()->is<DepthprobeInstrumentItem>()
+                               && !gDoc->datafiles()->empty()
+                               && m_set->currentItem()->detectorRank()
+                                      == gDoc->datafiles()->currentItem()->rank());
     m_rm_action->setEnabled(enabled);
     m_cp_action->setEnabled(enabled);
     m_save_action->setEnabled(enabled);