diff --git a/src/core/msrun.cpp b/src/core/msrun.cpp
index 7c35819c8c6da44fd0521e2d7df8957d9bdaf4af..cfd706e7d5442bbf0100bd505e5f88af64c48d1b 100644
--- a/src/core/msrun.cpp
+++ b/src/core/msrun.cpp
@@ -149,7 +149,9 @@ MsRun::findMsRunFile()
                   _msrun_reader_sp = nullptr;
                 }
             }
-          if(file.fileName().contains(onlyfilename))
+          if((file.fileName().contains(onlyfilename)) ||
+             (file.fileName().contains(basename)) ||
+             (file.fileName().contains(this->getSampleName())))
             {
               try
                 {
diff --git a/src/input/mascot/mascotdatparser.cpp b/src/input/mascot/mascotdatparser.cpp
index aba8a9f193c9747161ddf8cb50a11d762e4fefa1..5f8140792813abcafd4d1a6166eb147249562d23 100644
--- a/src/input/mascot/mascotdatparser.cpp
+++ b/src/input/mascot/mascotdatparser.cpp
@@ -416,13 +416,22 @@ INTERNALS=0.0,700.0
       if(header_list[1] == "FILE")
         {
           // FILE=F:\MSData\Batch4 Qex+TOUL Injection2\QEKAC160601_02.raw.mgf
-          /* not finished
-        QFileInfo fileinfo(header_list[2]);
-        _p_identification_data_source->getMsRunSp().get()->setSampleName(
-          fileinfo.baseName());
-          */
+
           _p_identification_data_source->getMsRunSp().get()->setFilename(
             header_list[2]);
+
+          QFileInfo fileinfo(header_list[2]);
+          if(fileinfo.fileName() == header_list[2])
+            {
+              fileinfo.setFile(header_list[2].replace("\\", "/"));
+              _p_identification_data_source->getMsRunSp().get()->setSampleName(
+                fileinfo.baseName());
+            }
+          else
+            {
+              _p_identification_data_source->getMsRunSp().get()->setSampleName(
+                fileinfo.baseName());
+            }
         }
     }
 }