diff --git a/apps/openmw/mwmechanics/character.cpp b/apps/openmw/mwmechanics/character.cpp
index 4a826043b3..0d7c0ff260 100644
--- a/apps/openmw/mwmechanics/character.cpp
+++ b/apps/openmw/mwmechanics/character.cpp
@@ -278,7 +278,7 @@ void CharacterController::refreshCurrentAnims(CharacterState idle, CharacterStat
                 mHitState = CharState_Block;
                 mCurrentHit = "shield";
                 MWRender::Animation::AnimPriority priorityBlock (Priority_Hit);
-                priorityBlock.mPriority[MWRender::Animation::BoneGroup_LeftArm] = Priority_Block;
+                priorityBlock[MWRender::Animation::BoneGroup_LeftArm] = Priority_Block;
                 mAnimation->play(mCurrentHit, priorityBlock, MWRender::Animation::BlendMask_All, true, 1, "block start", "block stop", 0.0f, 0);
             }
 
@@ -1063,7 +1063,7 @@ bool CharacterController::updateWeaponState()
     }
 
     MWRender::Animation::AnimPriority priorityWeapon(Priority_Weapon);
-    priorityWeapon.mPriority[MWRender::Animation::BoneGroup_LowerBody] = Priority_WeaponLowerBody;
+    priorityWeapon[MWRender::Animation::BoneGroup_LowerBody] = Priority_WeaponLowerBody;
 
     bool forcestateupdate = false;
     if(weaptype != mWeaponType && mHitState != CharState_KnockDown && mHitState != CharState_KnockOut
diff --git a/apps/openmw/mwrender/animation.cpp b/apps/openmw/mwrender/animation.cpp
index c1ae5fed5d..b14e629d07 100644
--- a/apps/openmw/mwrender/animation.cpp
+++ b/apps/openmw/mwrender/animation.cpp
@@ -680,7 +680,7 @@ namespace MWRender
                 if(!(state->second.mBlendMask&(1<<blendMask)))
                     continue;
 
-                if(active == mStates.end() || active->second.mPriority.mPriority[blendMask] < state->second.mPriority.mPriority[blendMask])
+                if(active == mStates.end() || active->second.mPriority[blendMask] < state->second.mPriority[blendMask])
                     active = state;
             }
 
diff --git a/apps/openmw/mwrender/animation.hpp b/apps/openmw/mwrender/animation.hpp
index 30b6d156ad..ef572c7c30 100644
--- a/apps/openmw/mwrender/animation.hpp
+++ b/apps/openmw/mwrender/animation.hpp
@@ -105,6 +105,16 @@ public:
             return true;
         }
 
+        int& operator[] (int n)
+        {
+            return mPriority[n];
+        }
+
+        const int& operator[] (int n) const
+        {
+            return mPriority[n];
+        }
+
         bool contains(int priority) const
         {
             for (unsigned int i=0; i<sNumBlendMasks; ++i)