diff --git a/lib/include/string.pre.pike b/lib/include/string.pre.pike
index 573e19b14295bf82b7f42c97c58d1cbea2e547e6..2c7d356f79229b684b4571038ec79d16579e1deb 100644
--- a/lib/include/string.pre.pike
+++ b/lib/include/string.pre.pike
@@ -2,8 +2,8 @@
 void create()
 {
   master()->add_precompiled_program("/precompiled/string_buffer", class {
-    string *buffer;
-    int ptr;
+    string *buffer=allocate(BEGIN);
+    int ptr=0;
     
     static void fix()
     {
@@ -31,7 +31,7 @@ void create()
       return 0;
     }
 
-    void create()
+    void flush()
     {
       buffer=allocate(BEGIN);
       ptr=0;