--- scripts/xdg-open.orig
+++ scripts/xdg-open
@@ -31,6 +31,12 @@
 #
 #---------------------------------------------
 
+# If we are started from a Linux app with LD_PRELOAD set unset that
+# so native apps (like browers) won't fail to start.
+if [ "x$(uname)" = "xLinux" ]; then
+	unset LD_PRELOAD
+fi
+
 manualpage()
 {
 cat << _MANUALPAGE
@@ -364,7 +370,9 @@ open_generic()
     for browser in $BROWSER; do
         if [ x"$browser" != x"" ]; then
 
-            browser_with_arg=`echo "$browser" | sed s#%s#"$1"#`
+            browser_with_arg=`printf "$browser" "$1" 2>/dev/null`
+            if [ $? -ne 0 ]; then browser_with_arg=$browser;
+            fi
 
             if [ x"$browser_with_arg" = x"$browser" ]; then "$browser" "$1";
             else $browser_with_arg;
