 	 */
 	public class VertexAnimationShaderPart extends ShaderPart
 	{
-		private var _morphingShaderPart : MorphingShaderPart;
-		private var _skinningShaderPart : SkinningShaderPart;
+		private var _morphing : MorphingShaderPart	= null;
+		private var _skinning : SkinningShaderPart	= null;
 		
 		public function VertexAnimationShaderPart(main : Shader)
 		{
 			super(main);
 			
-			_skinningShaderPart = new SkinningShaderPart(main);
+			_morphing = new MorphingShaderPart(main);
+			_skinning = new SkinningShaderPart(main);
 		}
 		
 		public function getAnimatedVertexPosition() : SFloat

			var vertexPosition : SFloat;
			
			if (meshBindings.propertyExists("morphingEnabled"))
				vertexPosition = _morphingShaderPart.getMorphedPosition();
			else
				vertexPosition = getVertexAttribute(VertexComponent.XYZ);
			
			if (meshBindings.propertyExists("skinningMethod"))
				vertexPosition = _skinningShaderPart.skinPosition(vertexPosition);
			
			return vertexPosition;
		}

			var vertexNormal : SFloat;
			
			if (meshBindings.propertyExists("morphingEnabled"))
				vertexNormal = _morphing.getMorphedNormal();
			else
				vertexNormal = getVertexAttribute(VertexComponent.NORMAL)
			
			if (meshBindings.propertyExists("skinningMethod"))
				vertexNormal = _skinning.skinNormal(vertexNormal);
			
			return vertexNormal;
		}
