             strongSelf.enumerateMatchs(in: string, ranges: scopeRanges, using: { (matchedRange: NSRange, match: NSTextCheckingResult?, stop) in
                 
                 guard !progress.isCancelled else {
-                    indicator.dismiss(strongSelf)
+                    DispatchQueue.main.async {
+                        indicator.dismiss(nil)
+                    }
                     strongSelf.busyTextViews.remove(textView)
                     stop = true
                     return

            strongSelf.enumerateMatchs(in: string, ranges: scopeRanges, using: { (matchedRange: NSRange, match: NSTextCheckingResult?, stop) in
                
                guard !progress.isCancelled else {
                    indicator.dismiss(strongSelf)
                    strongSelf.busyTextViews.remove(textView)
                    stop = true
                    return

            strongSelf.enumerateMatchs(in: string, ranges: scopeRanges, using: { (matchedRange: NSRange, match: NSTextCheckingResult?, stop) in
                
                guard !progress.isCancelled else {
                    DispatchQueue.main.async {
                        indicator.dismiss(nil)
                    }
                    strongSelf.busyTextViews.remove(textView)
                    stop = true
                    return
