diff --git a/TODO b/TODO
index 89f4063897b74da1984af7a83b8789950c465b4d..915c74310b9d689645979bf1f24dd4f5e6837d78 100644
--- a/TODO
+++ b/TODO
@@ -10,7 +10,7 @@ NuttX TODO List (Last updated February 13, 2008)
   (11) Network (net/, netutils/)
   (2)  USB (drivers/usbdev)
   (3)  Libraries (lib/)
-  (3)  File system/Generic drivers (fs/, drivers/)
+  (4)  File system/Generic drivers (fs/, drivers/)
   (1)  Pascal add-on (pcode/)
   (2)  Documentation (Documentation/)
   (3)  Build system
@@ -233,6 +233,12 @@ o File system / Generic drivers (fs/, drivers/)
   Status:      Open
   Priority:    Medium
 
+  Description: There is no way to remove a FIFO or PIPE created in the
+               psuedo filesystem.  Once created, they persist indefinitely
+               and cannot be unlinked.
+  Status:      Open
+  Priority:    Medium
+
 o Pascal Add-On (pcode/)
   ^^^^^^^^^^^^^^^^^^^^^^
 
diff --git a/drivers/pipe-common.c b/drivers/pipe-common.c
index f25ef010ee545da327ecf5052632db64a6024ceb..98e8ee0e6551df87841457c2e0542cb08a511178 100644
--- a/drivers/pipe-common.c
+++ b/drivers/pipe-common.c
@@ -221,9 +221,9 @@ int pipecommon_close(FAR struct file *filep)
 
   pipecommon_semtake(&dev->s.d_bfsem);
 
-  /* Check if the decremented reference count would be zero */
+  /* Check if the decremented reference count would be less than zero */
 
-  if (dev->s.d_refs > 1)
+  if (dev->s.d_refs > 0)
     {
        /* No.. then just decrement the reference count */