At the 1968 Summer Olympics in Mexico City, O'Brien placed second in his heat of the 200 m breaststroke in a time of 2 min 36.8 s, which placed him 13th. He was eliminated, having been 2.9 s slower than the last-placed qualifier for the final. The eventual winner posted a time 0.9 s slower than that of O'Brien four years earlier. O'Brien did better in the newly introduced 100 m event, winning his heat in a time of 1 min 8.9 s to qualify second-fastest for the semifinals. O'Brien scraped into the final after coming second in his semifinal in a time of 1 min 9.0 s. It was the barest of margins; O'Brien was the slowest qualifier and could not be electronically separated from the ninth-fastest semifinalist, with judges being used to decide the placings. O'Brien went on to finish sixth in a time of 1 min 8.6 s.