diff --git a/cranspasswords_bash_completion b/cranspasswords_bash_completion
index fd9bb6a75d579c985bfb1e58e67fa50e64331fd7..236e63cf625c807da6aab13ae5e093d5b4f6892e 100644
--- a/cranspasswords_bash_completion
+++ b/cranspasswords_bash_completion
@@ -77,9 +77,18 @@ server=$_cranspasswords_server
     return 0
   fi
   
+ if [[ "$last" = "--edit" ]]; then
+    if  [ ! -f "${pass_dir}${server}-w" ]; then
+      echo "`cranspasswords --server $server -l | grep "+" | awk '{print $2}'`" > "${pass_dir}${server}-w"
+    fi
+    pass_list="`cat "${pass_dir}${server}-w"`"
+    COMPREPLY=( $(compgen -W "$pass_list" -- $cur ) )
+    return 0
+  fi
+
   if true; then
     if  [ ! -f "${pass_dir}$server" ]; then
-      echo "`cranspasswords --server $server -l | grep "+" | awk '{print $2}'`" > "${pass_dir}$server"
+      echo "`cranspasswords --server $server -l | grep "\( +\| -\)" | awk '{print $2}'`" > "${pass_dir}$server"
     fi
     pass_list="`cat "${pass_dir}$server"`"
     COMPREPLY=( $(compgen -W "$pass_list" -- $cur ) )