diff --git a/ChangeLog b/ChangeLog
index 064a40dce20b9e9a3f2c7871ec233c49eba742c2..485db96b22bf16003c340f163bef68e677e1d0fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -180,5 +180,6 @@
 0.2.8 2007-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
 	* tools/Makefile.mkconfig: Under Cygwin, executable has a different name
 	* tools/mkdeps.sh & arch/arm/src/Makefile: Corrected a problem makeing dependencies
+	* tools/zipme.sh: Force directory name to be nuttx-xx.yy.zz
 	* Started m68322
 
diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html
index 34bad5d7db82b1fcedfae13cc8f4916f19706e90..3d765a86794ed54764e05483e3ff483db130a892 100644
--- a/Documentation/NuttX.html
+++ b/Documentation/NuttX.html
@@ -615,6 +615,7 @@ Other memory:
 
 	* tools/Makefile.mkconfig: Under Cygwin, executable has a different name
 	* tools/mkdeps.sh & arch/arm/src/Makefile: Corrected a problem makeing dependencies
+	* tools/zipme.sh: Force directory name to be nuttx-xx.yy.zz
 	* Started m68322
 </pre></ul>
 
diff --git a/TODO b/TODO
index c05ec796b55ad1c31994354491007404d68b768e..64b9896fe70bc53b2df6ab1e2b1dc34aee74800b 100644
--- a/TODO
+++ b/TODO
@@ -23,7 +23,7 @@ o Signals
 - 'Standard' signals and signal actions are not supported.
 
 o pthreads
-- pthread_cancel():  Should implemenent cancellation points and pthread_testcancel()
+- pthread_cancel():  Should implement cancellation points and pthread_testcancel()
 
 o C++ Support
 - Need to call static constructors
@@ -33,12 +33,13 @@ o Network
 
 o USB
 - Implement USB device support
+- Implement USB bulk device
 
 o Libraries
 - sscanf() and lib_vsprintf() do not support floating point values.
 
 o File system
-- Add statfs(), chmod(), truncate().
+- Add chmod(), truncate().
 - FAT32: long file names
 
 o Console Output
@@ -79,3 +80,4 @@ o pjrc-8052 / MCS51
   clock_initialize.c at line 107
   pthread_create.c at 330
   sighand.c at 225 and 244
+
diff --git a/tools/zipme.sh b/tools/zipme.sh
index 5919edddbe96431f10ef797972643cf02040ac5c..382305d68c03170056bb67f1ddf7af25cfedd93d 100755
--- a/tools/zipme.sh
+++ b/tools/zipme.sh
@@ -35,7 +35,7 @@
 #set -x
 
 WD=`pwd`
-DATECODE=$1
+VERSION=$1
 
 TAR="tar cvf"
 ZIP=gzip
@@ -55,11 +55,14 @@ GARBAGEDIRS="\
 
 # Make sure we know what is going on
 
-if [ -z ${DATECODE} ] ; then
+if [ -z ${VERSION} ] ; then
    echo "You must supply a version like xx.yy.zz as a parameter"
    exit 1;
 fi
 
+# Find the directory we were executed from and were we expect to
+# see the directory to tar up
+
 MYNAME=`basename $0`
 
 if [ -x ${WD}/${MYNAME} ] ; then
@@ -68,23 +71,32 @@ else
    if [ -x ${WD}/tools/${MYNAME} ] ; then
      NUTTX=${WD}
    else
-     echo "You must cd NUTTX directory to execute this script."
+     echo "You must cd into the NUTTX directory to execute this script."
      exit 1
    fi
 fi
 
+# Get the NuttX directory name and the path to the parent directory
+
 NUTTXDIR=`basename ${NUTTX}`
 PROJECTS=`dirname ${NUTTX}`
 
+# The name of the directory must match the version number
+
+if [ "X$NUTTXDIR" != "Xnuttx-${VERSION}" ]; then
+   echo "Expected directory name to be nuttx-${VERSION} found ${NUTTXDIR}"
+   exit 1
+fi
+
 cd ${PROJECTS} || \
    { echo "Failed to cd to ${PROJECTS}" ; exit 1 ; }
 
 if [ ! -d ${NUTTXDIR} ] ; then
    echo "${PROJECTS}/${NUTTXDIR} does not exist!"
-   exit 1;
+   exit 1
 fi
 
-TAR_NAME=nuttx-${DATECODE}.tar
+TAR_NAME=nuttx-${VERSION}.tar
 ZIP_NAME=${TAR_NAME}.gz
 
 # Prepare the nuttx directory -- Remove editor garbage