diff --git a/lib/go/thrift/buffered_transport.go b/lib/go/thrift/buffered_transport.go
index e3546a5..b92261c 100644
--- a/lib/go/thrift/buffered_transport.go
+++ b/lib/go/thrift/buffered_transport.go
@@ -77,12 +77,21 @@
 
 func (p *TBufferedTransport) Write(buf []byte) (n int, err error) {
 	wbuf := p.wbuf
-	size := len(buf)
-	if wbuf.pos+size > wbuf.limit { // buffer is full, flush buffer
-		p.Flush()
+	remaining := len(buf)
+
+	for remaining > 0 {
+		if wbuf.pos+remaining > wbuf.limit { // buffer is full, flush buffer
+			if err := p.Flush(); err != nil {
+				return n, err
+			}
+		}
+		copied := copy(wbuf.buffer[wbuf.pos:], buf[n:])
+
+		wbuf.pos += copied
+		n += copied
+		remaining -= copied
 	}
-	n = copy(wbuf.buffer[wbuf.pos:], buf)
-	wbuf.pos += n
+
 	return n, nil
 }
 
diff --git a/lib/go/thrift/framed_transport.go b/lib/go/thrift/framed_transport.go
index 3a59e7b..d1af028 100644
--- a/lib/go/thrift/framed_transport.go
+++ b/lib/go/thrift/framed_transport.go
@@ -95,7 +95,7 @@
 	}
 	if size > 0 {
 		if n, err := p.writeBuffer.WriteTo(p.transport); err != nil {
-			print("Error while flushing write buffer of size ", size, " to transport, only wrote ", n, " bytes: ", err, "\n")
+			print("Error while flushing write buffer of size ", size, " to transport, only wrote ", n, " bytes: ", err.Error(), "\n")
 			return NewTTransportExceptionFromError(err)
 		}
 	}
