diff --git a/indra/newview/linux_tools/install.sh b/indra/newview/linux_tools/install.sh
index 1801abf1463ebdec23a5080893b774c6a67d3b70..f16bd3609357c55573577beec546cd3560949b41 100755
--- a/indra/newview/linux_tools/install.sh
+++ b/indra/newview/linux_tools/install.sh
@@ -59,7 +59,6 @@ function homedir_install()
     fi
 
     install_to_prefix "$HOME/.local/share/alchemy-install"
-    $HOME/.local/share/alchemy-install/etc/refresh_desktop_app_entry.sh
 }
 
 function root_install()
@@ -77,7 +76,6 @@ function root_install()
     install_to_prefix "$install_prefix"
 
     mkdir -p /usr/local/share/applications
-    ${install_prefix}/etc/refresh_desktop_app_entry.sh
 }
 
 function install_to_prefix()
@@ -124,6 +122,8 @@ function install_to_prefix()
         rm "$1/bin/llplugin/.user_does_not_want_chrome_sandboxing_and_accepts_the_risks" 2> /dev/null
         pkexec "$1/etc/chrome_sandboxing_permissions_setup.sh" || die "Failed to set permissions on chrome-sandbox"
     fi
+    sh "$1/etc/refresh_desktop_app_entry.sh" || echo "Failed to integrate into DE via XDG."
+    set_slurl_handler "$1"
 }
 
 function backup_previous_installation()
@@ -134,6 +134,16 @@ function backup_previous_installation()
     mv "$1" "$backup_dir" || die "Failed to create backup of existing installation!"
 }
 
+function set_slurl_handler()
+{
+    local install_dir=$1
+    prompt "Would you like to set Alchemy as your default SLurl handler? [Y/N]: "
+    if [[ $? == 0 ]]; then
+	exit 0
+    fi
+    "$install_dir"/etc/register_secondlifeprotocol.sh #Successful association comes with a notification to the user.
+}
+
 
 if [ "$UID" == "0" ]; then
     root_install