diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index bd08c9cfe08f9a3e256c64e79d87d96d5295a18f..400b6b4fe77019b23021b8bf49b249fef476b775 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -5576,8 +5576,9 @@ BOOL LLModelPreview::render()
 
 							//build matrix palette
 							
-							LLMatrix4 mat[64];
-							for (U32 j = 0; j < model->mSkinInfo.mJointNames.size(); ++j)
+							LLMatrix4 mat[JOINT_COUNT];
+							U32 count = llmin((U32) model->mSkinInfo.mJointNames.size(), (U32) JOINT_COUNT);
+							for (U32 j = 0; j < count; ++j)
 							{
 								LLJoint* joint = getPreviewAvatar()->getJoint(model->mSkinInfo.mJointNames[j]);
 								if (joint)