diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index bb5c86f7051e5ccc2339364e7ee058de4c5d5810..e38c7ee080855b8bd5b88d4f38e7e4643b605ee4 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -1613,6 +1613,14 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(
 		}
 	}
 
+	if (buffer.isNull() ||
+		buffer->getNumVerts() != vol_face.mNumVertices ||
+		buffer->getNumIndices() != vol_face.mNumIndices)
+	{
+		// Allocation failed
+		return;
+	}
+
 	if (sShaderLevel <= 0 && face->mLastSkinTime < avatar->getLastSkinTime())
 	{
 		//perform software vertex skinning for this face