PITTSFORD 鈭 Cam Lewis鈥 coverage on Buffalo Bills wide receiver Joshua Palmer seemed to be perfect.
It wasn鈥檛 as perfect, however, as Josh Allen鈥檚 throw.

Bills receiver Joshua Palmer makes a catch at training camp practice on Thursday.聽
The MVP quarterback lofted a pass that Palmer hauled in with an over-the-shoulder catch at the left sideline, eliciting a roar of applause Friday morning from the Bills fans who gathered at St. John Fisher University to watch the team鈥檚 third practice of training camp.
The play was a snapshot of how Palmer can put stress on a defense with a catch radius Allen described as one of the best he鈥檚 ever seen, and their connection during the 7-on-7 drill was the product of numerous conversations between the two since the veteran wide receiver joined the Bills as a free agent in March.
鈥淚t鈥檚 a process to build that connection,鈥 Palmer said. 鈥淵ou have to keep repping the same routes over and over and over and over again. Me getting used to how early he gets rid of the ball and floats it in there. It makes it easy on us, so I have to expect to get my head around early.鈥
People are also reading…
Later in practice, Palmer dropped a pass from Allen while adjusting to catch the ball with Lewis in coverage. Allen picked apart the Bills鈥 secondary throughout practice, even though he threw multiple interceptions because of miscommunication with receivers. He attacked the middle of the field with throws to Palmer, Elijah Moore, Khalil Shakir, Keon Coleman and Dalton Kincaid.
Chemistry already existed between Allen, Shakir, Coleman and Kincaid. Moore, the Bills鈥 other free-agent addition, is a nuanced route runner who will do most of his damage in the short and intermediate area of the field, but Palmer will be used by Buffalo to attack downfield.
Those throws require a deeper connection because Allen and Palmer need to be on the same page about each route and ball placement. The latter averaged at least 15 yards per reception over his last two seasons with the Chargers.
鈥淚t鈥檚 very great to be part of this,鈥 said Palmer. 鈥淭he way Josh leads, the way he attacks each play, the way he shrugs off bad plays, the way he gets excited about good plays.鈥
Attendance
Edge rusher A.J. Epenesa (ankle), linebacker Dorian Williams (calf) and wide receiver David White Jr. (excused for personal reasons) did not practice, as they were added to the Bills鈥 injury report. Epenesa and Williams suffered their injuries Thursday, and the latter was wearing a walking boot on his right leg at practice Friday.
Right tackle Spencer Brown (back), tight end Dawson Knox (hamstring), center Sedrick Van Pran-Granger (calf) and wide receiver/kick returner Laviska Shenault (lower leg) remained absent. Brown and Knox stood on the sideline with their teammates, and Shenault stood behind each returner during punt drills late in practice.
Turnovers
Bills defensive coordinator Bobby Babich lamented before practice that his unit had only one takeaway through two days of training camp.
One of his experienced defensive backs, safety Taylor Rapp, delivered in a big way Friday with three interceptions, two of which occurred during team periods with Allen at quarterback. Rapp dove for the ball near the left sideline to take advantage of a miscommunication between Allen and his receiver.
Inconsistent
This was another up-and-down practice for second-year receiver Coleman. In an early team period, Coleman caught a pass on a crossing route and ran for a long gain. Later, he had multiple drops, including a mistake during one-on-one drills. Coleman ran an exceptional route to create separation, but he did not hold onto the perfectly placed pass.
Skirmish
Bills offensive lineman Alec Anderson left the practice field Friday following his fight with rookie defensive end Hayden Harris, a sign that Anderson was ejected for his actions in the brief scrum.
Offensive tackle Richard Gouraige joined the fray, while defensive end Michael Hoecht and offensive guard Dave Edwards got into a brief shoving match a few feet away.
Next
The Bills return to the practice field at 9:45 a.m. Sunday.