diff --git a/indra/newview/linux_tools/install.sh b/indra/newview/linux_tools/install.sh
index 63e368d1583177d949080d094e6ccba515ffa9aa..566fa4f4e2e59776f5673dfc693ef418620294eb 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()
@@ -100,6 +98,8 @@ function install_to_prefix()
         fi
         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()
@@ -110,6 +110,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