diff --git a/configs/olimex-lpc1766stk/README.txt b/configs/olimex-lpc1766stk/README.txt
index d9368d4b754de1546ac729a3d795fd9de1d83d1c..3ee4383c016e83b9145dd71ee6e363fe6618d8fc 100755
--- a/configs/olimex-lpc1766stk/README.txt
+++ b/configs/olimex-lpc1766stk/README.txt
@@ -789,9 +789,11 @@ Where <subdir> is one of the following:
 
     From NSH, the startup command sequence is then:
 
-      mount -t vfat /dev/mmcsd0 /tmp # Mount the SD card at /tmp
-      cd /tmp                        # cd into the /tmp directory
-      ftpc xx.xx.xx.xx[:pp]          # Start the FTP client
+      nsh> mount -t vfat /dev/mmcsd0 /tmp # Mount the SD card at /tmp
+      nsh> cd /tmp                        # cd into the /tmp directory
+      nsh> ftpc xx.xx.xx.xx[:pp]          # Start the FTP client
+      nfc> login <name> <password>        # Log into the FTP server
+      nfc> help                           # See a list of FTP commands
 
     where xx.xx.xx.xx is the IP address of the FTP server and pp is an
     optional port number (default is the standard FTP port number 21).
diff --git a/configs/olimex-lpc1766stk/ftpc/defconfig b/configs/olimex-lpc1766stk/ftpc/defconfig
index 53301f1658acbbf8e3442c2f258a823238259ed8..2ba0a0277ef2863d9f2bbb58e457aa2d9d6c374b 100755
--- a/configs/olimex-lpc1766stk/ftpc/defconfig
+++ b/configs/olimex-lpc1766stk/ftpc/defconfig
@@ -435,7 +435,8 @@ CONFIG_ARCH_BZERO=n
 # CONFIG_NFILE_DESCRIPTORS - The maximum number of file
 #   descriptors (one for each open)
 # CONFIG_NFILE_STREAMS - The maximum number of streams that
-#   can be fopen'ed
+#   can be fopen'ed or fdopend'ed.  This needs to be pretty
+#   large for ftpc because it uses two streams per socket.
 # CONFIG_NAME_MAX - The maximum size of a file name.
 # CONFIG_STDIO_BUFFER_SIZE - Size of the buffer to allocate
 #   on fopen. (Only if CONFIG_NFILE_STREAMS > 0)
@@ -461,7 +462,7 @@ CONFIG_MAX_TASKS=16
 CONFIG_MAX_TASK_ARGS=4
 CONFIG_NPTHREAD_KEYS=4
 CONFIG_NFILE_DESCRIPTORS=8
-CONFIG_NFILE_STREAMS=8
+CONFIG_NFILE_STREAMS=12
 CONFIG_NAME_MAX=32
 CONFIG_STDIO_BUFFER_SIZE=256
 CONFIG_NUNGET_CHARS=2
diff --git a/fs/fs_fdopen.c b/fs/fs_fdopen.c
index 329e4dd843288bafe6834442989ad0107a0a225d..176ba1bf455db6d5d7d2f74381f5dd8db2fde627 100644
--- a/fs/fs_fdopen.c
+++ b/fs/fs_fdopen.c
@@ -159,12 +159,12 @@ FAR struct file_struct *fs_fdopen(int fd, int oflags, FAR _TCB *tcb)
        */
 
 #if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0
-      ret = net_checksd;
+      ret = net_checksd(tcb, fd, oflags);
 #else
       /* No networking... it is just a bad descriptor */
 
       err = EBADF;
-      return ERROR;
+      goto errout;
 #endif
     }
 
@@ -244,6 +244,10 @@ FAR struct file_struct *fs_fdopen(int fd, int oflags, FAR _TCB *tcb)
         }
     }
 
+  /* No free stream available.. report ENFILE */
+
+  err = ENFILE;
+
 #if CONFIG_STDIO_BUFFER_SIZE > 0
 errout_with_sem:
 #endif