I had encountered with this problem twice. Solution of the problem is simple:

If your aspx page has AutoEventWireup = “true” property and the button has onclick = “Upload_Click” property and at the same time the procedure has Handles Upload.Click that will cause code run twice when the button is clicked.

Solution: Set AutoEventWireup = “false” and remove onclick property from the button or leave AutoEventWireup = “true” and remove Handles Upload.Click from the related event’s procedure.