New Orleans Saints wide receiver Michael Thomas (13) reaches for the ball before he is tackled during training camp at the Sports Performance Center in Metairie, La., Friday, Aug. 4, 2017.

Advocate Staff photo by SOPHIA GERMER

Notes and observations from Sunday’s practice.

Attendance: T Terron Armstead (shoulder), C Max Unger (foot), WR Travin Dural (concussion), WR Jake Lampman, CB Taveze Calhoun, LB Stephone Anthony, LB Nate Stupar (birth of child), C Jack Allen, TE Clay Harbor and DE Trey Hendrickson, CB Delvin Breaux (leg), CB Marshon Lattimore (knee) and RB Travaris Cadet (undisclosed) did not practice.

Returned: C Josh LeRibeus and CB Arthur Maulet (noncontact). RB Daniel Lasco shed his noncontact jersey.

Three stars

WR Michael Thomas might have had his best day of practice. His first standout moment came during one-on-ones when he froze Damian Swann on the line of scrimmage with a juke and got wide open on a slant. He later caught a crossing route over the middle, juked Vonn Bell on the sidelines and took it in for a score during seven-on-sevens.

S Chris Banjo had two positive moments in practice, both in coverage. He broke up a pass intended for WR Xavier Rush and another later during team drills. Banjo, a special teams ace, likely won’t figure into the mix on defense very often since the team has several safeties. But his play there could help him make his case.

DL Mitchell Loewen continues to flash. He had a sack during team drills and recorded a pressure. He had some positive moments against the Browns, too. It will be interesting to see how things play out for him. His spot on the team might come down to how many defensive tackles the team carries.

Top moments

LB A.J. Klein continues to show his ability in coverage. He had a breakup on a pass intended for TE Josh Hill near the sidlines during team drills. Things are starting to settle down a bit in the linebacker battle, and he appears entrenched on the strong side in the base defense.

Credit where credit is due. Swann had some shaky moments against the Browns and got beat a few times on Sunday, but he broke up two passes during team drills, including a long one to WR Tommylee Lewis.

RB Alvin Kamara had what might have been the longest run of the day when he took a handoff up the middle and went about 12 yards down the field before being tackled. His ability as a runner continues to show up.

Bad moments

QB Drew Brees wasn’t happy late in practice. He threw his helmet down and yelled out in frustration after someone messed up a protection. Better to make those mistakes during practice than in a game when it could lead to him taking a hit.

C Josh LeRibeus had another high snap. This issue has dissipated a bit. But it remains. It needs to be cleaned up if Max Unger is not ready for Week 1.

The defense busted a coverage and allowed Thomas to run free on a third-and-5 situation. These kind of mistakes can’t happen in actual games.

Other notes

• It appears the linebacker situation is settling down. Since the Cleveland game, Klein, Manti Te’o and Craig Robertson have been working the first-team defense. It will be interesting to see if rookie Alex Anzalone, who played well against the Browns, can challenge for a spot.

• S Kenny Vaccaro, who had a sack during practice, stayed on the field for about an hour after everyone else, going inside to work on his hands and coverage technique.

• S Vonn Bell had a solid moment in coverage and has put together a solid camp. He also played well against Cleveland. He was targeted once in coverage but did not give up a reception and had a nice run stuff.

• DL Tony McDaniel had a batted pass at the line of scrimmage.

• He didn’t do anything in team drills, so it might not mean anything, but Fleener was with the second-team offense during the walkthrough.

• WR Ted Ginn smoked De’Vante Harris on a post route during one-on-ones. Later, he misplayed a punt and allowed it to bounce over him.

Follow Nick Underhill on Twitter, @nick_underhill.​