diff --git a/R/plotting.R b/R/plotting.R
index 5d0eb901f5e3cdab0ca6fe5564def7ffd276bdaf..b86898fcb8b854f46391b32ce33bd61b4f8be3eb 100644
--- a/R/plotting.R
+++ b/R/plotting.R
@@ -380,6 +380,9 @@ scale_y<- function (axis="linear", ...) if (axis!="log") {
                                             ggplot2::scale_y_log10(...)
                                         }
 
+
+## Concatenates items of a named list in a chain of &-s: x==xval &
+## y=yval & z=zval ...)
 mk_logic_exp <- function(rest,sofar=NULL) {
     if (length(rest)==0L) {
         return(sofar)
@@ -392,6 +395,7 @@ mk_logic_exp <- function(rest,sofar=NULL) {
     }
 }
 
+
 get_data_from_key <- function(tab,key) {
     skey <- mk_logic_exp(key)
     eval(bquote(tab[.(skey)]))
@@ -408,15 +412,27 @@ make_line_label <- function(...) {
     paste(...,sep="; ")
 }
 
-## Prepare MS1 eic data: rt and intensity + key made of splitby.
+## Prepare MS1 eic data: rt and intensity of a subset of extracted
+## data defined by the key named list.
 get_data_4_eic_ms1 <- function(extr_ms1,key) {
+
+    ## Which of the selected keys are in the extr_ms1? This can be
+    ## made more obvious to the user, but not necessary atm.
     actual_key <- key[intersect(names(key),names(extr_ms1))]
+
+    ## Which of CINDEX categories exist among extr_ms1 categories?
     label_group <- intersect(get_label_group(names(key)),names(extr_ms1))
+
+    ## Subset extr_ms1 by the actual key.
     tab <-get_data_from_key(tab=extr_ms1,key=actual_key)
+
+    ## Group the plot data per label group (ie tags, or adducts, or
+    ## both).
     label_group <- as.list(label_group)
     names(label_group) <- NULL
     pdata <- tab[,.(rt,intensity),by=label_group]
 
+    ## Create labels.
     pdata <- eval(bquote(pdata[,label:=make_line_label(..(lapply(label_group,as.symbol))),by=(label_group)],splice=T))
     setkeyv(pdata,cols=unique(c("ID",as.character(label_group),"rt")))
     pdata
diff --git a/R/shiny-ui-base.R b/R/shiny-ui-base.R
index f0d5655dc7f2ab8901e9f02cda841b35d43f8d4f..c491a2095de343b19ca16d4d530e8827f57403dc 100644
--- a/R/shiny-ui-base.R
+++ b/R/shiny-ui-base.R
@@ -740,13 +740,16 @@ mk_shinyscreen_server <- function(projects,init) {
             req(NROW(cind)>0L)
             row <- input$cindex_row_last_clicked
             req(row)
+            snms <- names(cind)
             sel <- cind[row]
-            
-
-            make_eic_ms1_plot(ms1,summ,set=sel$set,
-                              adduct=sel$adduct,
-                              id=sel$ID,
-                              splitby=c("tag"))
+            wh <- which(snms %in% CINDEX_BY)
+            req(wh)
+            sel2 <- lapply(wh,function(n) sel[[n]][[1]])
+            names(sel2) <- snms[wh]
+            message('sel2:')
+            print(sel2)
+            message('---')
+            make_eic_ms1_plot(ms1,summ,key=sel2)