         switch typingState {
         case .Start where count(text) > 0:
             notParkedText = text
-            
-            let attributedString = NSMutableAttributedString(string: text + parkedText)
-            attributedString.addAttributes(parkedTextAttributes, range: NSMakeRange(count(text), count(parkedText)))
+
+            let newText = text + parkedText
+
+            let range = newText.rangeOfString(parkedText, options: NSStringCompareOptions.BackwardsSearch, range: nil, locale: nil)
+            let nsrange = NSRangeFromRange(newText, range: range!)
+
+            let attributedString = NSMutableAttributedString(string: newText)
+            attributedString.addAttributes(parkedTextAttributes, range: nsrange)
             attributedText = attributedString
 
             prevText = text

    }

    // MARK: Utilites
    func goToBeginningOfConstantText() {
        if let position = beginningOfConstantText {
            goToTextPosition(position)

            return nil
        }
    }
}