My first guess is that your configuration for the neighbors sets either weight or local preference to establish which neighbor is primary. Can you post your BGP configuration, including any route maps, prefix lists, and access lists used for BGP.
Also it might help if you post output of these commands
show ip bop sum
show ip bop neighbor
HTH
Rick
HTH
Rick