Année après année, il obtient un temps de jeu avec les Bruins de plus en plus important jusqu'à jouer une saison complète lors de la saison 1980-1981. En , il signe comme agent libre avec les Rockies du Colorado. Cependant, il apprend plus tard que les Bruins avaient échangé leur choix de première ronde pour le repêchage d'entrée 1982 pour celui des Rockies comme compensation. La mauvaise saison des Rockies qui suit permet aux Bruins d'avoir le premier choix au total (Gord Kluzak choisi). L'été suivant, Foster déménage avec les Rockies au New Jersey où ils deviennent les Devils du New Jersey. Après seulement quatre parties jouées, il est transféré aux Red Wings de Détroit. En mars 1986, il retrouve la franchise de ses débuts, les Bruins. À l'issue de la saison 1986-1987, il prend sa retraite.