diff --git a/src/modules/_Stdio/buffer.cmod b/src/modules/_Stdio/buffer.cmod
index 8ae005b4f9daefe1f3604b121527fba0119c1d50..db17811d1dae7e697ea6db0f4a8709b63c200b4c 100644
--- a/src/modules/_Stdio/buffer.cmod
+++ b/src/modules/_Stdio/buffer.cmod
@@ -740,6 +740,7 @@ PIKECLASS Buffer
         *d++ ^= 0xff; /* pad, but that is 0xff */
       mpz_clear(&tmp);
     }
+    io_trigger_output( io );
   }
 
   static void io_add_int_uc( Buffer *io, ptrdiff_t i, size_t bytes )
@@ -1229,6 +1230,7 @@ PIKECLASS Buffer
     memset( io_add_space( io, nbytes,0), byte, nbytes );
     io->len += nbytes;
     Pike_sp -= args;
+    io_trigger_output( io );
     ref_push_object( io->this );
   }