diff --git a/src/core/msrun.cpp b/src/core/msrun.cpp
index 15f10376d449d44fc7d03fb7da13d9f4dcbfb69b..91f517f2fd40deb709e248b008017c5f391d08e8 100644
--- a/src/core/msrun.cpp
+++ b/src/core/msrun.cpp
@@ -89,13 +89,6 @@ MsRun::findMsRunFile()
 {
 
   QFileInfo file(this->getFilename());
-  bool file_ok = false;
-
-  if(file.exists())
-    {
-      file_ok = true;
-    }
-
   QString basename     = file.baseName();
   QString onlyfilename = file.fileName();
   QSettings settings;
@@ -116,25 +109,36 @@ MsRun::findMsRunFile()
           if(onlyfilename == file.fileName())
             {
               this->setFilename(file.absoluteFilePath());
-              file_ok = true;
+              if(_msrun_reader_sp == nullptr)
+                {
+                  _msrun_reader_sp = pappso::MsRunReaderFactory::getInstance()
+                                       .buildPwizMsRunReaderSp(*this);
+
+                  return true;
+                }
             }
           if(file.fileName().contains(onlyfilename))
             {
-              this->setFilename(file.absoluteFilePath());
-              file_ok = true;
+              try
+                {
+                  this->setFilename(file.absoluteFilePath());
+
+                  if(_msrun_reader_sp == nullptr)
+                    {
+                      _msrun_reader_sp =
+                        pappso::MsRunReaderFactory::getInstance()
+                          .buildPwizMsRunReaderSp(*this);
+                      return true;
+                    }
+                }
+              catch(pappso::PappsoException &error)
+                {
+                  _msrun_reader_sp = nullptr;
+                }
             }
         }
     }
-  if(file_ok)
-    {
-      if(_msrun_reader_sp == nullptr)
-        {
-          _msrun_reader_sp =
-            pappso::MsRunReaderFactory::getInstance().buildPwizMsRunReaderSp(
-              *this);
-        }
-    }
-  return file_ok;
+  return false;
 }
 
 void