diff --git a/completion/available/tmux.completion.bash b/completion/available/tmux.completion.bash
index 4fd0e0c..e8ee5e7 100644
--- a/completion/available/tmux.completion.bash
+++ b/completion/available/tmux.completion.bash
@@ -5,6 +5,32 @@
 # Usage: Put "source bash_completion_tmux.sh" into your .bashrc
 # Based upon the example at http://paste-it.appspot.com/Pj4mLycDE
 
+_tmux_expand () 
+{ 
+    [ "$cur" != "${cur%\\}" ] && cur="$cur"'\';
+    if [[ "$cur" == \~*/* ]]; then
+        eval cur=$cur;
+    else
+        if [[ "$cur" == \~* ]]; then
+            cur=${cur#\~};
+            COMPREPLY=($( compgen -P '~' -u $cur ));
+            return ${#COMPREPLY[@]};
+        fi;
+    fi
+}
+
+_tmux_filedir () 
+{ 
+    local IFS='
+';
+    _tmux_expand || return 0;
+    if [ "$1" = -d ]; then
+        COMPREPLY=(${COMPREPLY[@]} $( compgen -d -- $cur ));
+        return 0;
+    fi;
+    COMPREPLY=(${COMPREPLY[@]} $( eval compgen -f -- \"$cur\" ))
+}
+
 function _tmux_complete_client() {
     local IFS=$'\n'
     local cur="${1}"
@@ -40,7 +66,7 @@
     prev="${COMP_WORDS[COMP_CWORD-1]}"
 
     if [ ${prev} == -f ]; then
-        _filedir
+        _tmux_filedir
     else
     # Search for the command
     local skip_next=0
@@ -123,7 +149,7 @@
                 -t) _tmux_complete_session "${cur}" ;;
                 *) options="-t" ;;
             esac ;;
-            source-file|source) _filedir ;;
+            source-file|source) _tmux_filedir ;;
             has-session|has|kill-session)
             case "$prev" in
                 -t) _tmux_complete_session "${cur}" ;;
