diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index 74a064766bbdf449afe04381744cba5f3893e7af..88f45c302c5c3e0482ba1d8c090808f8ca71c67b 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -2727,10 +2727,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)
 	{