diff --git a/src/core/msrun.cpp b/src/core/msrun.cpp
index d817296e5192eec87a1d8aa7403969b1a6e30e91..7c35819c8c6da44fd0521e2d7df8957d9bdaf4af 100644
--- a/src/core/msrun.cpp
+++ b/src/core/msrun.cpp
@@ -74,6 +74,12 @@ MsRun::getMsRunReaderSp()
   return _msrun_reader_sp;
 }
 
+void
+MsRun::freeMsRunReaderSp()
+{
+  _msrun_reader_sp = nullptr;
+}
+
 void
 MsRun::setMsRunStatistics(MsRunStatistics param, const QVariant &value)
 {
diff --git a/src/core/msrun.h b/src/core/msrun.h
index 742b3a0c48084e185c6a4fb305597d0a56bf950c..5420e9d8101c07e12eab7a9c5b0a784aedbdc655 100644
--- a/src/core/msrun.h
+++ b/src/core/msrun.h
@@ -70,6 +70,10 @@ class MsRun : public pappso::MsRunId
   bool findMsRunFile();
 
   pappso::MsRunReaderSp &getMsRunReaderSp();
+  
+  /** @brief release shared pointer on MSrun reader
+   */
+  void freeMsRunReaderSp();
 
   void checkMsRunStatistics();