diff --git a/src/hu_stuff.c b/src/hu_stuff.c
index c4067d7d8122ee631d9a23a66f2ab499fc1fc848..b02eecb6c0d12fdd0d697cbedf76a530d5ab9810 100644
--- a/src/hu_stuff.c
+++ b/src/hu_stuff.c
@@ -1142,7 +1142,7 @@ boolean HU_Responder(event_t *ev)
 			if (chatlen+pastelen > HU_MAXMSGLEN)
 				return true; // we can't paste this!!
 
-			memmove(&w_chat[c_input + pastelen], &w_chat[c_input], pastelen);
+			memmove(&w_chat[c_input + pastelen], &w_chat[c_input], (chatlen - c_input) + 1); // +1 for '\0'
 			memcpy(&w_chat[c_input], paste, pastelen); // copy all of that.
 			c_input += pastelen;
 			return true;