 		protected function removeFrameListener():void
 		{
 			if (!m_frameListenerActive) return;
-			var animationActive:Boolean = m_thumb.left != valueToPosition(m_value, m_minValue, 
+			var animationActive:Boolean;
+			if(m_direction == DIRECTION_HORIZONTAL)
+			{
+				animationActive = m_thumb.left != valueToPosition(m_value, m_minValue, 
 				m_maxValue);
+			}
+			else
+			{
+				animationActive = m_thumb.top != valueToPosition(m_value, m_minValue, 
+				m_maxValue);
+			}
 			if (animationActive || m_isDragging) return;
 			removeEventListener(Event.ENTER_FRAME, self_enterFrame);
 			m_frameListenerActive = false;

			}
			applyCurrentDragValue();
		}
	}
}
	{
		
		//*****************************************************************************************
		//*                                  public Properties                                 *
		//*****************************************************************************************
		public static const DIRECTION_VERTICAL : String = 'vertical';
		public static const DIRECTION_HORIZONTAL : String = 'horizontal';
		

		//*****************************************************************************************
		//*                                  Protected Properties                                 *
		//*****************************************************************************************
		protected var m_thumb:UIComponent;
