1. A method in a branch prediction unit for prediction of a next taken branch instruction in a processing unit comprising the branch prediction unit, the method comprises: receiving a program counter corresponding to the address of an instruction; determining a search program counter based on the received program counter; using the search program counter to find in a pattern history memory at least one branch indicator configured to indicate at least one predicted taken branch instruction that is comprised in an execution path; selecting a first found branch indicator as an indication of a first predicted taken branch instruction in an execution path; using the first found branch indicator to retrieve from the pattern history memory, a branch source address of the first predicted taken branch instruction; and repeating the finding, selecting, and retrieving steps until the retrieved branch source address is the branch source address with an address difference of a single byte to the address of the search program counter or until all entries in the pattern history memory have been visited, wherein when the retrieved branch source address is the branch source address with the address difference of the single byte to the address of the search program counter or until when all entries in the pattern history memory have been visited, the method further comprising indexing a branch target buffer using the retrieved branch source address; outputting a branch target retrieved from the branch target buffer as a next program counter; and stopping prediction of a next taken branch instruction.