fi
-# Start ssh-agent if we have private keys, thanks to
+# Start ssh-agent if no agent is running and we have private keys, thanks to
# http://code.haskell.org/XMonadContrib/scripts/xinitrc (read on 2011-06-19).
-if test -x /usr/bin/ssh-agent && test -f "$HOME/.ssh/id_rsa"; then
+if test -z "$SSH_AGENT_PID" \
+ && test -x /usr/bin/ssh-agent \
+ && test -f "$HOME/.ssh/id_rsa"; then
# -s to force bourne shell output. This file is a bourne shell script even
# if the environment might suggest otherwise.
eval `/usr/bin/ssh-agent -s` >/dev/null