diff --git a/R/mix.R b/R/mix.R
index e9ef415823d865afef2754182f8d19d1e8a785db..69176c73875ecec0638a6ce021b57e55593fd3de 100644
--- a/R/mix.R
+++ b/R/mix.R
@@ -797,8 +797,10 @@ analyse_extracted_data <- function(extr,prescreen_param) {
     qflg <- QA_FLAGS[!(QA_FLAGS %in% "qa_pass")]
     res[,qa_pass:=apply(.SD,1,all),.SDcols=qflg]
     res[.(T),del_rt:=abs(ms2_rt - ms1_rt),on="qa_pass",by='an']
-    res[.(T),qa_tmp_ms1_max:= ms1_int==max(ms1_int),on="qa_pass",by=BASE_KEY_MS2]
-    res[.(T,T),ms2_sel:= del_rt == del_rt[which.min(del_rt)],on=c("qa_pass","qa_tmp_ms1_max"),by=BASE_KEY_MS2]
+    resby <- BASE_KEY_MS2[! (BASE_KEY_MS2 %in% 'an')]
+    res[.(T),qa_tmp_ms1_max:= ms1_int==max(ms1_int),on="qa_pass",by=resby]
+    res[,ms2_sel:=F]
+    res[.(T,T),ms2_sel:= del_rt == del_rt[which.min(del_rt)],on=c("qa_pass","qa_tmp_ms1_max"),by=resby]
     res[,qlt_ms1:=apply(.SD,1,function(rw) sum(c(5L,3L,2L)*rw)),.SDcol=c("qa_ms1_exists",
                                                                  "qa_ms1_above_noise",
                                                                  "qa_ms1_good_int")]
@@ -813,9 +815,11 @@ gen_summ <- function(comp,qa) {
     comp_cols <- intersect(SUMM_COLS,colnames(comp))
     rdcomp <- comp[,..comp_cols]
     data.table::setkeyv(rdcomp,BASE_KEY)
-    summ <- qa[rdcomp,nomatch=NA]
-    flgs <- c(QA_FLAGS,"ms2_sel")
-    summ[is.na(qa_ms1_exists),(flgs):=F]
+    summ <- qa[rdcomp,nomatch=F] #We changed `nomatch' cases from NA
+                                 #to F, because NA does not work well
+                                 #with X == F condition.
+    ## flgs <- c(QA_FLAGS,"ms2_sel")
+    ## summ[is.na(qa_ms1_exists),(flgs):=F]
     data.table::setkeyv(summ,SUMM_KEY)
     summ[.(F),c("qlt_ms1","qlt_ms2"):=0.,on="qa_ms1_exists"]
     summ