diff --git a/indra/llmessage/lltemplatemessagebuilder.cpp b/indra/llmessage/lltemplatemessagebuilder.cpp
index 6400310c4656ba6613cfc38039a10be474cf5b97..55379fc6fdcb6beaa487191899b153410b3ef813 100644
--- a/indra/llmessage/lltemplatemessagebuilder.cpp
+++ b/indra/llmessage/lltemplatemessagebuilder.cpp
@@ -737,10 +737,14 @@ static S32 buildBlock(U8* buffer, S32 buffer_size, const LLMessageBlock* templat
 		}
 
 		--block_count;
-		++block_iter;
+		
 		if (block_iter != message_data->mMemberBlocks.end())
 		{
-			mbci = block_iter->second;
+			++block_iter;
+			if (block_iter != message_data->mMemberBlocks.end())
+			{
+				mbci = block_iter->second;
+			}
 		}
 	}