diff --git a/R/api.R b/R/api.R
index 239060cdd9ff83c53caa08f065e8cb8ae22c9cb3..c72432d5b3007466157039ddd050a03231507c01 100644
--- a/R/api.R
+++ b/R/api.R
@@ -195,8 +195,6 @@ mk_comp_tab <- function(m) {
     smiforadd <- smiles[smiforadd,.(ID,SMILES,Formula,adduct),on=c("SMILES")]
     data.table::setkey(smiforadd,"adduct","ID")
 
-    ## FIXME: Why is Formula a list when there are no SMILES, instead
-    ## of an empty string?
     smiforadd[,Formula:=as.character(Formula)]
     
     ## Update the intermediate table with masses.
diff --git a/R/data-model.R b/R/data-model.R
index 04ce025cae08488e1718359b63254bc2e3e8916b..9054d61ab54f2e84f704cf2373e33be3b4d73985 100644
--- a/R/data-model.R
+++ b/R/data-model.R
@@ -77,7 +77,6 @@ make_db_precursors <- function(m) {
     } else {
         stop('make_db_precursors: Unknown mass unit (coarse).')
     }
-    ## TODO: FIXME: Should precids be unique, or not?
 
     ## Assign "fine" isobars to same isocoarse number.
     masses[,precid:=merge_precid_4_isobars(catid,mz,mz_fine_max),by="tag"]
diff --git a/R/plotting.R b/R/plotting.R
index 93ababd30050b0011f205acd7fa934b07f88b345..7d228115642dc8d6d1c2c5e0bf2070dfb26342f6 100644
--- a/R/plotting.R
+++ b/R/plotting.R
@@ -353,10 +353,6 @@ make_eic_ms1_plot <- function(db,summ,kvals,labs,axis="linear",rt_range=NULL,i_r
     key = names(kvals)
     ## Get metadata.
 
-
-    ## TODO: FIXME: Somehow calculating representationve ms1_rt for
-    ## plots is wrong. Horrible and wrong. Will remove those labels
-    ## until we fix. 20230412: Still problematic?
     summ_rows = narrow_summ(db=db,summ,kvals,labs,"mz","ms1_rt","ms1_int","Name","SMILES","qa_ms1_exists","scan","ms2_sel")
     rows_key = union(data.table::key(summ_rows),labs)
     summ_rows$sel_ms1_rt=NA_real_
diff --git a/R/shiny-state.R b/R/shiny-state.R
index f7260f2835695d22760fdcf4c8b1e905365d30b2..e2e16195cc97117a00d89fff167b12dd3bcf36ff 100644
--- a/R/shiny-state.R
+++ b/R/shiny-state.R
@@ -570,7 +570,7 @@ get_summ_subset <- function(db,summ,ptab,paritem,kvals) {
 get_ltab <- function(summ_subs,cols=c("scan","ms2_rt")) {
     tab = summ_subs
     if (NROW(tab)==1L && is.na(tab$an)) return(data.table::data.table(item=character()))
-    tab[is.na(ms2_sel),ms2_sel:=F] #TODO FIXME: Check why NAs exist at all?
+    tab[is.na(ms2_sel),ms2_sel:=F]
     tab[,passval:=fifelse(qa_pass==T,"OK","BAD")]
     tab[ms2_sel==T,passval:="SELECTED"]
     res = tab[,item:=do.call(paste,c(.SD,list(sep=";"))),.SDcols=c(cols,"passval")]
@@ -614,7 +614,7 @@ update_on_commit_chg <- function(summ,input,ptab,ltab) {
 
     the_row = tabkey(summ,kvals=kvals)
     summ[the_row,(tgts):=..srcs]
-    summ[,scan.1:=NULL] #FIXME: an.1 pops up somewhere.
+    summ[,scan.1:=NULL]
     qflg = QA_FLAGS[!(QA_FLAGS %in% "qa_pass")]
     summ[the_row,qa_pass:=apply(.SD,1,all),.SDcols=qflg]
     summ
diff --git a/R/shiny-ui-base.R b/R/shiny-ui-base.R
index e564fe733e15499ef44d9af5754ad8d983ff6971..01f644a38ded8c4003c4d534b5bcbc6aa88482ba 100644
--- a/R/shiny-ui-base.R
+++ b/R/shiny-ui-base.R
@@ -700,8 +700,6 @@ mk_shinyscreen_server <- function(projects,init) {
         ## REACTIVE FUNCTIONS: COMPOUND INDEX
         rf_get_cindex <- reactive({
 
-            ## TODO: FIXME: Uncomment after rearranging everything.
-            ## input$cmt_changes_b
             rvs$status$is_qa_stat
             s1 = input$sort1
             s2 = input$sort2
@@ -1583,7 +1581,7 @@ mk_shinyscreen_server <- function(projects,init) {
         })
 
         output$comp_table = DT::renderDataTable({
-            ## TODO FIXME
+            ## TODO 
             ## cmpds = rf_get_cmpd_tab()
             ## validate(need(NROW(cmpds)>0,"No compound list loaded yet."))
             ## DT::datatable(cmpds,
diff --git a/inst/rmd/app_config_and_status.Rmd b/inst/rmd/app_config_and_status.Rmd
index 139fb4ac4afa17772b82ab8a0053d68724e9f072..8c5b84581a0d6238f078568c9fa897a05c738686 100644
--- a/inst/rmd/app_config_and_status.Rmd
+++ b/inst/rmd/app_config_and_status.Rmd
@@ -194,7 +194,7 @@ overload of the system's resources.
 ```{r, echo=F}
 ## This is treated differently than other MF inputs, because the value
 ## is not known prior to starting a R session. There should be a
-## mechanism for this. TODO FIXME.
+## mechanism for this. TODO
 
 numericInput(inputId="mf_proc",
              label="Number of MetFrag processes",