These two functions highlights the letter F and U.
highlight_F()
highlight_U()

They work perfectly individually. When I run them in sequence, I get the following inconsistent results. What is wrong with my code?

$30.85 FU <-- U gets highlighted blue (correct)

| $30.80 F | $30.85 FU | $30.85 F | $30.90 F | $31.00 F | $31.00 F | $31.50 F | $31.50 F | $31.50 F | $31.50 F | $22.48 +$4.99 (27.47) | $24.19 +$4.99 (29.18) | $25.00 +$4.99 (29.99) | $25.00 +$4.99 (29.99) | $25.60 +$4.99 (30.59) | $26.00 +$4.62 (30.62) | $27.00 +$4.99 (31.99) | $28.00 +$4.99 (32.99) | $29.99 +$4.62 (34.61) | $29.99 +$4.99 (34.98)

$37.99 F <-- F gets highlighted blue (incorrect)

| $33.50 F | $30.98 +$4.99 (35.97) | $30.99 +$4.99 (35.98) | $31.99 +$4.60 (36.59) | $37.99 F | $39.99 +$4.99 (44.98) | $25.99 +$5.99 (31.98) | $28.99 +$4.57 (33.56) | $29.99 +$4.99 (34.98) | $30.00 +$4.99 (34.99) | $32.23 +$4.99 (37.22) | $34.99 +$4.99 (39.98) | $37.95 +$4.99 (42.94) | $38.00 +$4.99 (42.99) | $39.99 +$4.99 (44.98) | $40.00 +$4.99 (44.99)

Public Function highlight_F()
RichTextBox1.SelectAll()
RichTextBox1.SelectionColor = Color.Black
RichTextBox1.SelectionBackColor = Color.White
RichTextBox1.DeselectAll()

Dim FoundAtPosition As Integer
FoundAtPosition = RichTextBox1.Find("F")
RichTextBox1.SelectionColor = Color.Red
RichTextBox1.SelectionFont = New Font("Arial", 12, FontStyle.Bold)

Do Until FoundAtPosition < 0
RichTextBox1.SelectionColor = Color.Red
RichTextBox1.SelectionFont = New Font("Arial", 12, FontStyle.Bold)

If FoundAtPosition + 1 < RichTextBox1.Text.Length Then
FoundAtPosition = RichTextBox1.Find("F", FoundAtPosition + 1, RichTextBoxFinds.None)
Else
FoundAtPosition = -1
End If
Loop

End Function

Public Function highlight_U()

Dim FoundAtPosition As Integer
FoundAtPosition = RichTextBox1.Find("U")
RichTextBox1.SelectionColor = Color.Blue
RichTextBox1.SelectionFont = New Font("Arial", 14, FontStyle.Bold)

Do Until FoundAtPosition < 0
RichTextBox1.SelectionColor = Color.Blue
RichTextBox1.SelectionFont = New Font("Arial", 14, FontStyle.Bold)

If FoundAtPosition + 1 < RichTextBox1.Text.Length Then
FoundAtPosition = RichTextBox1.Find("U", FoundAtPosition + 1, RichTextBoxFinds.None)
Else
FoundAtPosition = -1
End If
Loop

End Function