diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWRunFiles.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWRunFiles.h
index 5b733cc5974a73e2ea56ab11182cc5b9805e9171..96a6c63e8771ab758545f8b9f5163c87b7f1ae27 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWRunFiles.h
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWRunFiles.h
@@ -240,6 +240,8 @@ signals:
   void liveButtonPressed(bool);
   /// Signal emitted after asynchronous checking of live stream availability
   void liveButtonSetEnabledSignal(bool);
+  /// Emitted when inspection of any found files is completed
+  void fileInspectionFinished();
 
 public slots:
   /// Set the file text and try and find it
diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonSequentialFitDialog.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonSequentialFitDialog.h
index 8807f5667b21ff6f5d551a764b5f6a1c21c6a8ff..e4424425c5a685c1d8005a5ebd039de9ee33bc45 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonSequentialFitDialog.h
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonSequentialFitDialog.h
@@ -128,6 +128,9 @@ namespace MantidWidgets
     /// Stop fitting process
     void stopFit();
 
+    /// Run fit after getting file input
+    void continueFit();
+
   };
 
 
diff --git a/MantidQt/MantidWidgets/src/MWRunFiles.cpp b/MantidQt/MantidWidgets/src/MWRunFiles.cpp
index 18df2f32dbf03823122ce319c569550c99f831a2..f8a8ea891d0c9e53fba8839c4995c8e5957e7a42 100644
--- a/MantidQt/MantidWidgets/src/MWRunFiles.cpp
+++ b/MantidQt/MantidWidgets/src/MWRunFiles.cpp
@@ -812,6 +812,8 @@ void MWRunFiles::inspectThreadResult() {
     setFileProblem("");
   }
 
+  emit fileInspectionFinished();
+
   // Only emit the signal if file(s) were found
   if (!m_foundFiles.isEmpty())
     emit filesFound();
diff --git a/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp b/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp
index 4c4a06d124606a998cf8e33876cd8695691d71a6..ece05ee74d4c033e9322bcb58e2f7733c7959f4d 100644
--- a/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp
+++ b/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp
@@ -279,7 +279,8 @@ void MuonSequentialFitDialog::updateCursor(DialogState newState) {
 }
 
 /**
- * Start fitting process.
+ * Start fitting process by running file search.
+ * Once search is complete, fit continues in continueFit().
  */
 void MuonSequentialFitDialog::startFit() {
   if (m_state != Stopped)
@@ -291,16 +292,19 @@ void MuonSequentialFitDialog::startFit() {
   // straight after editing the run box. In that case, lost focus event might
   // not be processed yet and search might not have been started yet.
   // Otherwise, search is not done as the widget sees that it has not been
-  // changed. Taken from LoadDialog.cpp:124.
+  // changed.
+  connect(m_ui.runs, SIGNAL(fileInspectionFinished()), this,
+          SLOT(continueFit()));
   m_ui.runs->findFiles();
+}
 
-  // Wait for file search to finish.
-  while (m_ui.runs->isSearching()) {
-    QApplication::processEvents();
-  }
-
-  // To process events from the finished thread
-  QApplication::processEvents();
+/**
+ * Carries out the fitting process once the file search has completed.
+ * Called when the run control reports that its search has finished.
+ */
+void MuonSequentialFitDialog::continueFit() {
+  disconnect(m_ui.runs, SIGNAL(fileInspectionFinished()), this,
+             SLOT(continueFit()));
 
   // Validate input fields
   if (!isInputValid()) {