diff --git a/completion/available/ssh.completion.bash b/completion/available/ssh.completion.bash
index 3dfd6ab..fd5c6cd 100644
--- a/completion/available/ssh.completion.bash
+++ b/completion/available/ssh.completion.bash
@@ -4,20 +4,33 @@
 export COMP_WORDBREAKS=${COMP_WORDBREAKS/\:/}
 
 _sshcomplete() {
+    local CURRENT_PROMPT="${COMP_WORDS[COMP_CWORD]}"
+    if [[ ${CURRENT_PROMPT} == *@*  ]] ; then
+      local OPTIONS="-P ${CURRENT_PROMPT/@*/}@ -- ${CURRENT_PROMPT/*@/}"
+    else
+      local OPTIONS=" -- ${CURRENT_PROMPT}"
+    fi
+
     
     # parse all defined hosts from .ssh/config
     if [ -r $HOME/.ssh/config ]; then
-        COMPREPLY=($(compgen -W "$(grep ^Host $HOME/.ssh/config | awk '{print $2}' )" -- ${COMP_WORDS[COMP_CWORD]}))
+        COMPREPLY=($(compgen -W "$(grep ^Host $HOME/.ssh/config | awk '{print $2}' )" ${OPTIONS}) )
     fi
 
     # parse all hosts found in .ssh/known_hosts
     if [ -r $HOME/.ssh/known_hosts ]; then
         if grep -v -q -e '^ ssh-rsa' $HOME/.ssh/known_hosts ; then
-        COMPREPLY=( ${COMPREPLY[@]} $(compgen -W "$( awk '{print $1}' $HOME/.ssh/known_hosts | cut -d, -f 1 | sed -e 's/\[//g' | sed -e 's/\]//g' | cut -d: -f1 | grep -v ssh-rsa)" -- ${COMP_WORDS[COMP_CWORD]} )) 
+            COMPREPLY=( ${COMPREPLY[@]} $(compgen -W "$( awk '{print $1}' $HOME/.ssh/known_hosts | cut -d, -f 1 | sed -e 's/\[//g' | sed -e 's/\]//g' | cut -d: -f1 | grep -v ssh-rsa)" ${OPTIONS}) )
         fi
     fi
+
+    # parse hosts defined in /etc/hosts
+    if [ -r /etc/hosts ]; then
+        COMPREPLY=( ${COMPREPLY[@]} $(compgen -W "$( grep -v '^[[:space:]]*$' /etc/hosts | grep -v '^#' | awk '{print $2}' )" ${OPTIONS}) )
+    fi
     
     return 0
 }
 
 complete -o default -o nospace -F _sshcomplete ssh
+
