diff --git a/startx.cpp b/startx.cpp
index dfbebe1..472a1b0 100644
--- a/startx.cpp
+++ b/startx.cpp
@@ -272,7 +272,7 @@ if [ x"$enable_xauth" = x1 ] ; then
     dummy=0

     XCOMM create a file with auth information for the server. ':0' is a dummy.
-    xserverauthfile=$HOME/.serverauth.$$
+    xserverauthfile="${XAUTHORITY:-$HOME/.Xauthority}.$$"
     trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP BUS TERM
     xauth -q -f "$xserverauthfile" << EOF
 add :$dummy . $mcookie