a735c0
diff --git a/src/formisc.c b/src/formisc.c
a735c0
index 5c2869d..54fd013 100644
a735c0
--- a/src/formisc.c
a735c0
+++ b/src/formisc.c
a735c0
@@ -103,7 +103,7 @@ void loadsaved(sp)const struct saved*const sp;	     /* load some saved text */
a735c0
 }
a735c0
 							    /* append to buf */
a735c0
 void loadbuf(text,len)const char*const text;const size_t len;
a735c0
-{ if(buffilled+len>buflen)			  /* buf can't hold the text */
a735c0
+{ while(buffilled+len>buflen)			  /* buf can't hold the text */
a735c0
      buf=realloc(buf,buflen+=Bsize);
a735c0
   tmemmove(buf+buffilled,text,len);buffilled+=len;
a735c0
 }