diff --git a/bitbang_spi.c b/bitbang_spi.c
index 0f1f7ed..abf5530 100644
--- a/bitbang_spi.c
+++ b/bitbang_spi.c
@@ -87,14 +87,16 @@
 	static unsigned char *bufout = NULL;
 	static unsigned char *bufin = NULL;
 	static int oldbufsize = 0;
-	int bufsize = max(writecnt + readcnt, 260);
+	int bufsize;
 	int i;
 
 	/* Arbitrary size limitation here. We're only constrained by memory. */
 	if (writecnt > 65536 || readcnt > 65536)
 		return SPI_INVALID_LENGTH;
 
-	if (bufsize != oldbufsize) {
+	bufsize = max(writecnt + readcnt, 260);
+	/* Never shrink. realloc() calls are expensive. */
+	if (bufsize > oldbufsize) {
 		bufout = realloc(bufout, bufsize);
 		if (!bufout) {
 			fprintf(stderr, "Out of memory!\n");
@@ -109,6 +111,7 @@
 				free(bufout);
 			exit(1);
 		}
+		oldbufsize = bufsize;
 	}
 		
 	memcpy(bufout, writearr, writecnt);
diff --git a/ft2232_spi.c b/ft2232_spi.c
index aa00753..d565a6f 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -200,14 +200,22 @@
 	static unsigned char *buf = NULL;
 	/* failed is special. We use bitwise ops, but it is essentially bool. */
 	int i = 0, ret = 0, failed = 0;
+	int bufsize;
+	static int oldbufsize = 0;
 
 	if (writecnt > 65536 || readcnt > 65536)
 		return SPI_INVALID_LENGTH;
 
-	buf = realloc(buf, writecnt + readcnt + 100);
-	if (!buf) {
-		fprintf(stderr, "Out of memory!\n");
-		exit(1); // -1
+	/* buf is not used for the response from the chip. */
+	bufsize = max(writecnt + 9, 260 + 9);
+	/* Never shrink. realloc() calls are expensive. */
+	if (bufsize > oldbufsize) {
+		buf = realloc(buf, bufsize);
+		if (!buf) {
+			fprintf(stderr, "Out of memory!\n");
+			exit(1);
+		}
+		oldbufsize = bufsize;
 	}
 
 	/*
