diff --git a/Network/CommandList.hs b/Network/CommandList.hs
--- a/Network/CommandList.hs
+++ b/Network/CommandList.hs
@@ -196,7 +196,7 @@
       let ret = addExcess $ filter (isPrefixOf str) fns
 --      putStr "\nDEBUG2_: "; print strGen
 --      putStr "DEBUG3: "; print ret
-      return ret -- $ addExcess $ filter (isPrefixOf str) fns
+      return ret
   where str = strGen {- if isSpace $ last strGen
                  then ""
 		 else lastWord strGen -}
diff --git a/yjftp.cabal b/yjftp.cabal
--- a/yjftp.cabal
+++ b/yjftp.cabal
@@ -1,5 +1,5 @@
 Name:		yjftp
-Version:	0.3.6
+Version:	0.3.6.1
 License:	GPL
 License-file:	LICENSE
 Author:		Yoshikuni Jujo
diff --git a/yjftp.hs b/yjftp.hs
--- a/yjftp.hs
+++ b/yjftp.hs
@@ -16,8 +16,8 @@
 			     "list directory contents\n\toption -l list detail of contents",
 			     compLs))
  , ("cd",    (changeDirectoryFTP, "change directory in remote", compRemoteFile))
- , ("lcd",   (changeDirectoryLocal, "change directory in local", const compFilename))
- , ("put",   (putFileFTP, "upload file", const compFilename))
+ , ("lcd",   (changeDirectoryLocal, "change directory in local", const filenameCompletionFunction))
+ , ("put",   (putFileFTP, "upload file", const filenameCompletionFunction))
  , ("get",   (getFileFTP, "download file", compRemoteFile))
  , ("cat",   (showFileFTP, "show remote file", compRemoteFile))
  , ("rm",    (removeFileFTP, "delete remote file", compRemoteFile))
