diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 592a8cc79..e05c12bbe 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-23  Christopher Faylor  <cgf@redhat.com>
+
+	* smallprint.c (__small_vsprintf): Implement '%o' after all these
+	years.
+
 2002-05-22  Christopher Faylor  <cgf@redhat.com>
 
 	* fhandler.h (fhandler_virtual::exists): Eliminate path argument.
diff --git a/winsup/cygwin/smallprint.c b/winsup/cygwin/smallprint.c
index 97a2b6ce1..d2a365c94 100644
--- a/winsup/cygwin/smallprint.c
+++ b/winsup/cygwin/smallprint.c
@@ -135,6 +135,9 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap)
 		case 'U':
 		  dst = rn (dst, 10, 0, va_arg (ap, long long), len, pad);
 		  break;
+		case 'o':
+		  dst = rn (dst, 8, 0, va_arg (ap, unsigned), len, pad);
+		  break;
 		case 'p':
 		  *dst++ = '0';
 		  *dst++ = 'x';