diff --git a/qt/python/mantidqt/_common.sip b/qt/python/mantidqt/_common.sip
index 0717cc0acd19d6bfabe76c31f3d64803d6eed19c..d1a57a8c28b050be2ef2d5fd004fb18fbea2e136 100644
--- a/qt/python/mantidqt/_common.sip
+++ b/qt/python/mantidqt/_common.sip
@@ -897,6 +897,7 @@ public:
     void setText(const QString&);
     void setUserInput(const QVariant &);
     void setReadOnly(bool readOnly);
+    void setEnabled(bool enabled);
     void findFiles(bool isModified);
 
 signals:
diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/MWRunFiles.h b/qt/widgets/common/inc/MantidQtWidgets/Common/MWRunFiles.h
index a74a639124414cd880855537d2ccac73e60f8ce1..84ceb8b0190f270b0b84a3c9035fcafb7d621cd3 100644
--- a/qt/widgets/common/inc/MantidQtWidgets/Common/MWRunFiles.h
+++ b/qt/widgets/common/inc/MantidQtWidgets/Common/MWRunFiles.h
@@ -149,6 +149,8 @@ public:
   void setInstrumentOverride(const QString &instName);
   /// Set the input read-only or not
   void setReadOnly(bool readOnly);
+  /// Disable the browse button and file input field.
+  void setEnabled(bool enabled);
   /// Get the last directory
   QString getLastDirectory() { return m_lastDir; }
   /// Set the last directory
diff --git a/qt/widgets/common/src/MWRunFiles.cpp b/qt/widgets/common/src/MWRunFiles.cpp
index baeb8a7f68196627dd59d7ebd8d58fb22b564b91..8dfa1c317f07986f6d583071bde47ac7925b089e 100644
--- a/qt/widgets/common/src/MWRunFiles.cpp
+++ b/qt/widgets/common/src/MWRunFiles.cpp
@@ -963,9 +963,24 @@ void MWRunFiles::setReadOnly(bool readOnly) {
   refreshValidator();
 }
 
+/**
+ * @brief Set if the file finder should be enanbled or not.
+ * This allows the finder to be greyed out completely compared
+ * to the setReadOnly method, which only works on the browse button.
+ *
+ * @param enabled :: [input] true if enabled, fakse if disabled.
+ */
+void MWRunFiles::setEnabled(bool enabled) {
+  m_uiForm.browseBtn->setEnabled(enabled);
+  m_uiForm.fileEditor->setEnabled(enabled);
+  setValidatorDisplay(enabled);
+  refreshValidator();
+}
+
 /**
  * Turn on/off the display of the red validator star.
- * Validation is still performed, this just controls the display of the result.
+ * Validation is still performed, this just controls the display of the
+ * result.
  * @param display :: [input] whether to show validator result or not
  */
 void MWRunFiles::setValidatorDisplay(bool display) {
diff --git a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/presenter.py b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/presenter.py
index c261cb4021f503b96b3c5421ed1a6deb9afd77a7..eed8e9b5194d906749fd15576f192e8bdf49b275 100644
--- a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/presenter.py
+++ b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/presenter.py
@@ -127,15 +127,15 @@ class CalibrationPresenter(object):
         self.emit_enable_button_signal()
 
     def set_create_new_enabled(self, enabled):
-        self.view.set_vanadium_read_only(not enabled)
-        self.view.set_calib_read_only(not enabled)
+        self.view.set_vanadium_enabled(enabled)
+        self.view.set_calib_enabled(enabled)
         if enabled:
             self.set_calibrate_button_text("Calibrate")
             self.view.set_check_plot_output_enabled(True)
             self.find_files()
 
     def set_load_existing_enabled(self, enabled):
-        self.view.set_path_read_only(not enabled)
+        self.view.set_path_enabled(enabled)
         if enabled:
             self.set_calibrate_button_text("Load")
             self.view.set_check_plot_output_enabled(False)
diff --git a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/test/test_calib_presenter.py b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/test/test_calib_presenter.py
index 5e1c1a991b02bc19f303d3b55bc4caba0c776210..d9f137f975e969f0fea5474c56346b338bf7c2d1 100644
--- a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/test/test_calib_presenter.py
+++ b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/test/test_calib_presenter.py
@@ -190,10 +190,10 @@ class CalibrationPresenterTest(unittest.TestCase):
     def test_create_new_enabled_true(self):
         self.presenter.set_create_new_enabled(True)
 
-        self.assertEqual(self.view.set_vanadium_read_only.call_count, 1)
-        self.view.set_vanadium_read_only.assert_called_with(False)
-        self.assertEqual(self.view.set_calib_read_only.call_count, 1)
-        self.view.set_calib_read_only.assert_called_with(False)
+        self.assertEqual(self.view.set_vanadium_enabled.call_count, 1)
+        self.view.set_vanadium_enabled.assert_called_with(True)
+        self.assertEqual(self.view.set_calib_enabled.call_count, 1)
+        self.view.set_calib_enabled.assert_called_with(True)
         self.view.set_calibrate_button_text.assert_called_with("Calibrate")
         self.view.set_check_plot_output_enabled.assert_called_with(True)
         self.assertEqual(self.view.find_calib_files.call_count, 1)
@@ -201,10 +201,10 @@ class CalibrationPresenterTest(unittest.TestCase):
     def test_create_new_enabled_false(self):
         self.presenter.set_create_new_enabled(False)
 
-        self.assertEqual(self.view.set_vanadium_read_only.call_count, 1)
-        self.view.set_vanadium_read_only.assert_called_with(True)
-        self.assertEqual(self.view.set_calib_read_only.call_count, 1)
-        self.view.set_calib_read_only.assert_called_with(True)
+        self.assertEqual(self.view.set_vanadium_enabled.call_count, 1)
+        self.view.set_vanadium_enabled.assert_called_with(False)
+        self.assertEqual(self.view.set_calib_enabled.call_count, 1)
+        self.view.set_calib_enabled.assert_called_with(False)
         self.assertEqual(self.view.set_calibrate_button_text.call_count, 0)
         self.assertEqual(self.view.set_check_plot_output_enabled.call_count, 0)
         self.assertEqual(self.view.find_calib_files.call_count, 0)
@@ -212,16 +212,16 @@ class CalibrationPresenterTest(unittest.TestCase):
     def test_load_existing_enabled_true(self):
         self.presenter.set_load_existing_enabled(True)
 
-        self.assertEqual(self.view.set_path_read_only.call_count, 1)
-        self.view.set_path_read_only.assert_called_with(False)
+        self.assertEqual(self.view.set_path_enabled.call_count, 1)
+        self.view.set_path_enabled.assert_called_with(True)
         self.view.set_calibrate_button_text.assert_called_with("Load")
         self.view.set_check_plot_output_enabled.assert_called_with(False)
 
     def test_load_existing_enabled_false(self):
         self.presenter.set_load_existing_enabled(False)
 
-        self.assertEqual(self.view.set_path_read_only.call_count, 1)
-        self.view.set_path_read_only.assert_called_with(True)
+        self.assertEqual(self.view.set_path_enabled.call_count, 1)
+        self.view.set_path_enabled.assert_called_with(False)
         self.assertEqual(self.view.set_calibrate_button_text.call_count, 0)
         self.assertEqual(self.view.set_check_plot_output_enabled.call_count, 0)
 
diff --git a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/view.py b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/view.py
index 29e2f508ec6cacb1ecb0ef562e2cd7cce848fc41..ae207f36e89323d8addf513b33c3bd83d28154ed 100644
--- a/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/view.py
+++ b/scripts/Engineering/gui/engineering_diffraction/tabs/calibration/view.py
@@ -28,7 +28,7 @@ class CalibrationView(QtWidgets.QWidget, Ui_calib):
 
         self.finder_path.setLabelText("Path")
         self.finder_path.isForRunFiles(False)
-        self.finder_path.setReadOnly(True)
+        self.finder_path.setEnabled(False)
 
     # =================
     # Slot Connectors
@@ -68,14 +68,14 @@ class CalibrationView(QtWidgets.QWidget, Ui_calib):
         self.finder_vanadium.setInstrumentOverride(instrument)
         self.finder_calib.setInstrumentOverride(instrument)
 
-    def set_vanadium_read_only(self, set_to):
-        self.finder_vanadium.setReadOnly(set_to)
+    def set_vanadium_enabled(self, set_to):
+        self.finder_vanadium.setEnabled(set_to)
 
-    def set_calib_read_only(self, set_to):
-        self.finder_calib.setReadOnly(set_to)
+    def set_calib_enabled(self, set_to):
+        self.finder_calib.setEnabled(set_to)
 
-    def set_path_read_only(self, set_to):
-        self.finder_path.setReadOnly(set_to)
+    def set_path_enabled(self, set_to):
+        self.finder_path.setEnabled(set_to)
 
     def set_vanadium_text(self, text):
         self.finder_vanadium.setText(text)