diff --git a/src/utils/readspectrum.cpp b/src/utils/readspectrum.cpp
index 09376f5b3ab77637a540bc941ae5a1ca0150270b..cfab485b441908d550b1860bd2efcd846d45aaba 100644
--- a/src/utils/readspectrum.cpp
+++ b/src/utils/readspectrum.cpp
@@ -65,7 +65,7 @@ SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_
         SpectrumSp empty;
         return (empty);
     }
-
+    pwiz::msdata::CVID native_id_format;
     const bool getBinaryData = true;
     pwiz::msdata::SpectrumListPtr spectrum_list_ptr = p_ms_data_file->run.spectrumListPtr;
     unsigned int spectrum_index = 0;
@@ -74,11 +74,11 @@ SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_
     }
     else {
         // turn our scan numbers into navtieId strings for pwiz
-        pwiz::msdata::CVID nativeIdFormat_ = pwiz::msdata::id::getDefaultNativeIDFormat(*p_ms_data_file);
-        if (nativeIdFormat_ ==  pwiz::cv::CVID::MS_Mascot_MGF_format) {
+        native_id_format = pwiz::msdata::id::getDefaultNativeIDFormat(*p_ms_data_file);
+        if (native_id_format ==  pwiz::cv::CVID::MS_Mascot_MGF_format) {
             scan_num = scan_num-1;
         }
-        string nativeScanId = pwiz::msdata::id::translateScanNumberToNativeID(nativeIdFormat_, QString("%1").arg(scan_num).toStdString());
+        string nativeScanId = pwiz::msdata::id::translateScanNumberToNativeID(native_id_format, QString("%1").arg(scan_num).toStdString());
         spectrum_index = spectrum_list_ptr.get()->find(nativeScanId);
     }
     qDebug() << "spectrum_index " << spectrum_index;
@@ -133,6 +133,11 @@ SpectrumSp getSpectrumSpFromPwizMSDataFile(pwiz::msdata::MSDataFile * p_ms_data_
         spectrum.push_back(Peak(it->mz, it->intensity));
     }
     qDebug() << "spectrum size " << spectrum.size();
+    if (native_id_format ==  pwiz::cv::CVID::MS_Mascot_MGF_format) {
+        //sort peaks by mz
+        spectrum = spectrum.takeNmostIntense(1000);
+        //spectrum.sortMz();
+    }
     //cout << "spectrum_simple size  " << spectrum_simple.getSpectrumSize()<< endl;
 
     // lc = localeconv ();