diff --git a/linuxconf b/linuxconf
index 81789c14e8ef724db38d891768e6c72d3ea772ba..d9e805ab6632f61f383a7a5e1f4b22031c1ad490 100755
--- a/linuxconf
+++ b/linuxconf
@@ -145,7 +145,7 @@ function lci_init_if_needed () {
 function lci_startup_if_needed () {
     local uname="$(whoami)"
 
-    local state_file=/tmp/.linuxconf-startup-state
+    local state_file="/tmp/.linuxconf-state-$uname"
     if [[ ! -f $state_file ]]; then
         touch $state_file && chmod ugo+rw $state_file || die "failed to create tmp file $state_file"
     fi
@@ -213,7 +213,7 @@ function lci_install_login_hook () {
         echo "$desktop_file" | base64 -d > "$XDG_CONFIG_DIRS/autostart/lc-hook.desktop" || return $?
 
         for uconfig in /home/*/.config/autostart/lc-hook.desktop "$XDG_CONFIG_HOME/autostart/lc-hook.desktop"; do
-            [ -f "$uconfig" ] && rm -f "$uconfig"
+            [ -f "$uconfig" ] && rm -f "$uconfig" || true
         done
     else
         [ -f "$XDG_CONFIG_DIRS/autostart/lc-hook.desktop" ] && return 0