diff --git a/src/modules/_Stdio/buffer.cmod b/src/modules/_Stdio/buffer.cmod
index c0a586d054d74dbbd41de21f128f2c65bca4715c..4c11a2a07c657390daf4834d89f4a76c82cd91b1 100644
--- a/src/modules/_Stdio/buffer.cmod
+++ b/src/modules/_Stdio/buffer.cmod
@@ -46,6 +46,11 @@ static struct program *buffer_error_program;
 /*! @module Stdio
  */
 
+/* Remap to not clash with String.Buffer. */
+#define     PROG_BUFFER_ID     PROG_STDIO_BUFFER_ID
+#define tObjImpl_BUFFER	   tObjImpl_STDIO_BUFFER
+#define tObjIs_BUFFER	     tObjIs_STDIO_BUFFER
+
 /*! @class Buffer
  *!
  *! A buffer to use as input or buffering when doing I/O. It is
diff --git a/src/program_id.h b/src/program_id.h
index 48beaedf9d9f4f474c9401385ad5e594550519c6..4025a2907f3d6ce1dbed2ba69f29854920197086 100644
--- a/src/program_id.h
+++ b/src/program_id.h
@@ -108,6 +108,8 @@
 #define tObjImpl_LIST			      "\003\000\000\000\000\055"
 #define     PROG_LIST__GET_ITERATOR_ID				    056
 #define tObjImpl_LIST__GET_ITERATOR	      "\003\000\000\000\000\056"
+#define     PROG_STRING_BUFFER_ID				    057
+#define tObjImpl_STRING_BUFFER                "\003\000\000\000\000\057"
 
 /* Common modules. */
 #define     PROG_MODULE_MIME_ID					   0100
@@ -117,6 +119,11 @@
 #define	    PROG_TOKEN_ID					   0111
 #define tObjImpl_TOKEN			      "\003\000\000\000\000\111"
 
+/* Stdio.Buffer */
+#define     PROG_STDIO_BUFFER_ID				   0120
+#define tObjImpl_STDIO_BUFFER		      "\003\000\000\000\000\120"
+#define   tObjIs_STDIO_BUFFER		      "\003\001\000\000\000\120"
+
 /* NOTE: 0144 == 100. */
 /* 100 - 299 reserverd for Image.Image */