diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp
index 6d5ad0ba089a30324f517b91acfaf9c379f36752..1265ea1473833056f9bdec422fed52fa82acf972 100644
--- a/indra/llmessage/lltemplatemessagereader.cpp
+++ b/indra/llmessage/lltemplatemessagereader.cpp
@@ -118,6 +118,9 @@ void LLTemplateMessageReader::getData(const char *blockname, const char *varname
 	{   
 		switch( vardata_size )
 		{ 
+		case 0:
+			// This is here to prevent a memcpy from a null value which is undefined behavior.
+			break;
 		case 1:
 			*((U8*)datap) = *((U8*)vardata.getData());
 			break;