 		 */
 		protected function mediaTimeHandler(event:HLSEvent):void
 		{
+			// If subtitles are disabled, there's nothing to do
+			if (_hls.subtitlesTrack == -1) return;
+			
+			var position:Number = seqPosition;
+			
+			// If the subtitles haven't changed, there's nothing to do
+			if (isCurrent(_currentSubtitles, position)) return;
+			
+			// Get the subtitles list for the current sequence (always 0 for VOD)
 			var subs:Vector.<Subtitles> = _seqSubs[_seqNum];
 			
 			if (subs)
 			{
 				var mt:HLSMediatime = event.mediatime;
 				var matchingSubtitles:Subtitles;
-				var position:Number = seqPosition;
 				var i:uint;
 				var length:uint = subs.length;
 				

						break;
					}
					
					if (subtitles.startPosition <= position && subtitles.endPosition >= position)
					{
						matchingSubtitles = subtitles;
						break;

			}
		}
		
		protected function isCurrent(subtitles:Subtitles, position:Number):Boolean
		{
			return subtitles 
				&& subtitles.startPosition <= position 
				&& subtitles.endPosition >= position
		}
		
		/**
		 * When the media seeks, we reset the index from which we look for the next subtitles
		 */
