 			}
 			
 			// Remove any empty spaces and periods at the end
-			while(tempTextField.text.charAt(tempTextField.text.length - 1) == " " || tempTextField.text.charAt(tempTextField.text.length - 1) == ".")
-			{
-				characterRemoveCnt++;
-				tempTextField.text = tempTextField.text.slice(0, -1);
+			var continueEndTidying:Boolean = true;
+			while(continueEndTidying)
+			{
+				continueEndTidying = false;
+				
+				if (tempTextField.text.charAt(tempTextField.text.length - 1) == " ") continueEndTidying = true;
+				// remove any periods if we are adding ellipsis
+				if (addEllipsis && tempTextField.text.charAt(tempTextField.text.length - 1) == ".") continueEndTidying = true;
+				
+				if (continueEndTidying)
+				{
+					characterRemoveCnt++;
+					tempTextField.text = tempTextField.text.slice(0, -1);
+				}
+				
 				// just incase, because while loops make me nervous
 				if (tempTextField.text.length <= 0) break;
 			}
 			
-			tempTextField.appendText( ellipsis );
-			
-			if (tempTextField.numLines > 1) 
-			{
-				// check again, for some reason, adding the ellipsis can increase number of lines
-				while( textOverflowing( tempTextField, minimizeLines, ellipsis ) )
-				{
-					characterRemoveCnt++;
-					tempTextField.text = tempTextField.text.substr( 0, tempTextField.text.length - ellipsis.length - 1 );
-				}
-			}
-			
-			tempTextField.appendText( ellipsis );
+			// add ellipsis
+			if (ellipsis)
+			{
+				tempTextField.appendText( ellipsis );
+				
+				if (tempTextField.numLines > 1) 
+				{
+					// check again, for some reason, adding the ellipsis can increase number of lines
+					while( textOverflowing( tempTextField, minimizeLines, ellipsis ) )
+					{
+						characterRemoveCnt++;
+						tempTextField.text = tempTextField.text.substr( 0, tempTextField.text.length - ellipsis.length - 1 );
+					}
+				}
+				
+				tempTextField.appendText( ellipsis );
+			}
 			
 			textField.text = tempTextField.text;
 			

				if (result.length <= 0) break;
			}
			
			var pattern:RegExp = new RegExp("(.*?)(\\s*\.\.\.\\s*)([\</[a-z]*?\>\\s*$]+)", "i");
			
			if(result.search(pattern) == -1 && ellipses) result += "...";
			
			if (moreLink)
			{
				return (result +  " <a href=\"event:more\">[more]</a>");
			}

		 * @param moreLink  Boolean value to show a "[more]" with a TextEvent (TextEvent.LINK) at the end of truncation.
		 * This method is based on Michael Ritchie's work at http://thanksmister.com/2009/07/12/flex-truncating-html-text/
		 * */
		public static function truncateHTMLText(value:String, limit:int, addEllipsis:Boolean = true, addMoreLink:Boolean = true):String
		{	
			if (!addEllipsis) limit += 3;
			if (!addMoreLink) limit += 6;
			
			if(limit <= 0) return "";
			
