diff --git a/DESCRIPTION b/DESCRIPTION
index 78de5369439eb096dfc47a0750f16a838454d4d4..b94ce0ac8437d52b173c9f834df5e390470385c1 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,6 +1,6 @@
 Package: shinyscreen
 Title: Pre-screening of Mass Spectrometry Data 
-Version: 1.2
+Version: 1.2.1
 Author: Todor Kondić
 Maintainer: Todor Kondić <todor.kondic@uni.lu>
 Authors@R: 
diff --git a/R/shiny-state.R b/R/shiny-state.R
index c262e2195daf79b46801ebe3c659944e2aeecc66..b7b05703e10ca371a46dc72d98d699c2f7754b71 100644
--- a/R/shiny-state.R
+++ b/R/shiny-state.R
@@ -167,7 +167,7 @@ unpack_app_state <- function(session,input,top_data_dir,project_path,packed_stat
                                       selected = packed_state$input[[inp]])
         }
         
-        gui <- create_gui(project_path)
+        gui <- create_gui(project_path=project_path)
         gui$compounds$lists <- packed_state$compounds$lists
         gui$compounds$sets <- packed_state$compounds$sets
         gui$datatab$file <- packed_state$datatab$file
@@ -240,11 +240,14 @@ input2conf <- function(input,gui,conf=list()) {
 
 app_state2state <- function(input,gui,m=NULL) {
     if (is.null(m)) m <- new_project(gui$paths$project)
-    m$run$paths <- shiny::reactiveValuesToList(gui$paths)
+    ## m$run$paths <- shiny::reactiveValuesToList(gui$paths)
     m$conf <- input2conf_setup(input,gui=gui)
     m$conf <- input2conf_prescreen(input=input,conf=m$conf)
     m$conf <- input2conf_figures(input,conf=m$conf)
     m$conf <- input2conf_report(input,conf=m$conf)
+    m$conf$paths$data <- gui$paths$data
+    m$run <- new_runtime_state(project=gui$paths$project,
+                               conf=m$conf)
     m$input$tab$mzml <- gui2datatab(gui)
     m
 }
diff --git a/R/shiny-ui-base.R b/R/shiny-ui-base.R
index edaf36184767fa39aa900d9a6a998b28890701d3..f9d3d542d4e2b522c540672966babc9f8433b21f 100644
--- a/R/shiny-ui-base.R
+++ b/R/shiny-ui-base.R
@@ -1004,10 +1004,6 @@ mk_shinyscreen_server <- function(projects,init) {
                                             packed_state=pack)
                 ## Load computational state.
                 rvs$m <- readRDS(file=fn_state)
-                rvs$m$run <- reinit_run_data(userdir=init$userdir,
-                                             top_data_dir=init$indir,
-                                             project=rvs$gui$project(),
-                                             run = rvs$m$run)
                 
                 ## If prescreen config invalid, reinit.
                 if (length(rvs$m$conf$prescreen)==0) rvs$m$conf <- input2conf_prescreen(input=input,conf=rvs$m$conf)
@@ -1028,11 +1024,6 @@ mk_shinyscreen_server <- function(projects,init) {
             } else {
                 message("Initialising project: ",wd)
                 rvs$gui <- create_gui(project_path=fullwd)
-                rvs$m$run <- new_runtime_state(fullwd)
-                
-
-                
-                
             }
             message("project: ",rvs$gui$project())
         }, label = "project-b")
diff --git a/R/state.R b/R/state.R
index 97ae8f69386252ca4411bdd9daa0e9822128b97c..5bfb605bc607be4234d7e33de492c65103ce68be 100644
--- a/R/state.R
+++ b/R/state.R
@@ -40,7 +40,7 @@ runtime_from_conf <- function(run,conf) {
     run
 }
 
-reinit_run_data <- function(userdir,top_data_dir,project,run) {
+reinit_run_data <- function(userdir,top_data_dir,project,run=NULL) {
     if (!is.null(run)) {
         olddata <- run$paths$data
         oldproject <- basename(run$paths$project)
@@ -48,8 +48,8 @@ reinit_run_data <- function(userdir,top_data_dir,project,run) {
             message("Project has been renamed to: ",project)
             message("Old project name was: ", oldproject)
         }
+        if (isTruthy(olddata)) run$paths$data <- file.path(top_user_dir,basename(olddata))
     }
-    if (isTruthy(olddata)) run$paths$data <- file.path(top_user_dir,basename(olddata))
     run$project <- project
     run$paths$project <- file.path(userdir,project)
     run