diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index b24ae2814985d04b3674aaf5afa3c09628dcd78c..516c8f2afcee0738527fc424b4a3b32fc647b424 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -2726,10 +2726,10 @@ const char *I_ClipboardPaste(void)
 
 	if (!SDL_HasClipboardText())
 		return NULL;
+
 	clipboard_contents = SDL_GetClipboardText();
-	memcpy(clipboard_modified, clipboard_contents, 255);
+	strlcpy(clipboard_modified, clipboard_contents, 256);
 	SDL_free(clipboard_contents);
-	clipboard_modified[255] = 0;
 
 	while (*i)
 	{