This is a mathematics "testing" program, after every correct answer it increases the variable "userScore" by 1. This works perfectly along with the rest of the program, the only problem is that even when the answer the user inputs is WRONG and a message telling them they have got it wrong appears it STILL increments the "userScore" variable by 1.. I can't see whats wrong plaese help!

Code:
Public Class frmMultiplication

    'declare correctanswer as a variable which can be seen by the whole program
    Dim Correctanswer As Integer
    'diclare sub, multi, div, and add as variables seen by whole program
    Dim checkSub As Integer
    Dim checkMulti As Integer
    Dim checkDiv As Integer
    Dim checkAdd As Integer

    'declare userscore as variable which can be seen by the whole program 
    Dim userScore As Byte = 0

    Dim userattempts As Byte = 0

    Dim temp As Integer

    Private Sub frmMultiplication_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Randomize()

        'declare userinput as a variable
        Dim userinput As String

        'Set the userinput to equal the string inside the inputbox
        userinput = InputBox("Please enter your name")

        'Set the text property of the label equal to the string(welcome)plus the name variable
        lblUsername.Text = "Welcome, " + userinput

        btnNext.PerformClick()

    End Sub

    Dim randomnumber1 As Integer
    Dim randomnumber2 As Integer

    Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click
        'Declare useranswer as a variable
        Dim useranswer As Integer

        'Initialize the random numberber generator'
        'generate random values between 1 and 4 for randomnumber1'
        randomnumber1 = CInt(Int((4 * Rnd() + 1)))

        'generate random values between 1 and 4 for randomnumber2
        randomnumber2 = CInt(Int((4 * Rnd() + 1)))

        'set the answer to equal the text in textbox1
        useranswer = Val(TextBox1.Text)

        'calculate score
        lblScore.Text = "You scored:" & Str(userScore) + " Correct answers"

        'Invalid character = msg box 
        If Not IsNumeric(TextBox1.Text) Then
            MsgBox("Please enter a number", vbOKOnly)
        End If

        'correct answer equals 1 0f 4 responces in blue text
        If useranswer = Correctanswer Then
            lblResponse1.ForeColor = Color.Blue
            If randomnumber1 = 1 Then
                lblResponse1.Text = "Correct, Very good!            "
            End If
            If randomnumber1 = 2 Then
                lblResponse1.Text = "Correct, Excellent!            "
            End If
            If randomnumber1 = 3 Then
                lblResponse1.Text = "Correct, Nice Work!            "
            End If
            If randomnumber1 = 4 Then
                lblResponse1.Text = "Correct, Keep up the good work!"
            End If
        End If


        'incorrect answer equals 1 0f 4 responces in red text
        If useranswer <> Correctanswer Then
            lblResponse1.ForeColor = Color.Red
            If randomnumber1 = 1 Then
                lblResponse1.Text = "Wrong, Please try again.       "
            End If
            If randomnumber1 = 2 Then
                lblResponse1.Text = "Wrong, Try once more.          "
            End If
            If randomnumber1 = 3 Then
                lblResponse1.Text = "Wrong, Don't give up!          "
            End If
            If randomnumber1 = 4 Then
                lblResponse1.Text = "Wrong, Keep trying.            "
            End If

        End If

        If useranswer <> Correctanswer Then
            userattempts = userattempts + 1
        End If

        If userattempts = 3 Then
            MsgBox("To many attempts")
            btnNext.PerformClick()
            userattempts = userattempts = 0
        End If

        If Correctanswer = randomnumber1 * randomnumber2 Then
            userattempts = 0
        ElseIf Correctanswer = randomnumber1 / randomnumber2 Then
            userattempts = 0
        ElseIf Correctanswer = randomnumber1 - randomnumber2 Then
            userattempts = 0
        ElseIf Correctanswer = randomnumber1 + randomnumber2 Then
            userattempts = 0
        End If

        'no text in textbox 1
        TextBox1.Text = ""

        'btnnext click to regenerate question
        btnNext.PerformClick()
    End Sub

    Private Sub btnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuit.Click
        Close()
    End Sub

    Private Sub rbnSub_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnSub.CheckedChanged
        'rbnsub is true 
        checkSub = 1
        checkAdd = 0
        checkDiv = 0
        checkMulti = 0
        btnNext.PerformClick()

    End Sub

    Private Sub rbnMulti_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnMulti.CheckedChanged
        'rbnmulti is true
        checkSub = 0
        checkAdd = 0
        checkDiv = 0
        checkMulti = 1
        btnNext.PerformClick()
    End Sub

    Private Sub rbnAdd_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnAdd.CheckedChanged
        'rbnadd is true
        checkSub = 0
        checkAdd = 1
        checkDiv = 0
        checkMulti = 0
        btnNext.PerformClick()
    End Sub

    Private Sub rbnDvision_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbnDvision.CheckedChanged
        'rbndivision is true
        checkSub = 0
        checkAdd = 0
        checkDiv = 1
        checkMulti = 0
        btnNext.PerformClick()
    End Sub

    Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click

        'Check functions  = 1 when related rbn is clicked 

        If checkMulti = 1 Then
            randomnumber1 = CInt(Int((9 * Rnd() + 1)))
            randomnumber2 = CInt(Int((9 * Rnd() + 1)))
            lblQuestion.Text = "Question, " & Str(randomnumber1) & " x " & Str(randomnumber2)
            'equal number to the product of randomnumber1 and randomnumber2
            Correctanswer = randomnumber1 * randomnumber2
            If Correctanswer = randomnumber1 * randomnumber2 Then
                userScore = userScore + 1
            End If

        ElseIf checkDiv = 1 Then
            randomnumber1 = CInt(Int((9 * Rnd() + 1)))
            randomnumber2 = CInt(Int((9 * Rnd() + 1)))
            lblQuestion.Text = "Question, " & Str(randomnumber1) & " / " & Str(randomnumber2)
            'equal number to the product of randomnumber1 and randomnumber2
            Correctanswer = randomnumber1 / randomnumber2
            If Correctanswer = randomnumber1 / randomnumber2 Then
                userScore = userScore + 1
            End If

        ElseIf checkAdd = 1 Then
            randomnumber1 = CInt(Int((9 * Rnd() + 1)))
            randomnumber2 = CInt(Int((9 * Rnd() + 1)))
            lblQuestion.Text = "Question, " & Str(randomnumber1) & " + " & Str(randomnumber2)
            'equal number to the product of randomnumber1 and randomnumber2
            Correctanswer = randomnumber1 + randomnumber2
            If Correctanswer = randomnumber1 + randomnumber2 Then
                userScore = userScore + 1
            End If

        ElseIf checkSub = 1 Then
            randomnumber1 = CInt(Int((9 * Rnd() + 1)))
            randomnumber2 = CInt(Int((9 * Rnd() + 1)))
            lblQuestion.Text = "Question, " & Str(randomnumber1) & " - " & Str(randomnumber2)
            'equal number to the product of randomnumber1 and randomnumber2
            Correctanswer = randomnumber1 - randomnumber2
            If Correctanswer = randomnumber1 - randomnumber2 Then
                userScore = userScore + 1
            End If

        End If

    End Sub
End Class