Almost from the very beginning of the season, Buffalo Bills coach Sean McDermott was being quizzed about wide receiver Kelvin Benjamin’s effort and attitude.

The dropped passes, the halfhearted efforts going after less-than-perfect throws, the jogging downfield.

“At times. Not all the time, though. At times,’’ McDermott said on Oct. 3 when asked about Benjamin’s effort. “I would say the same thing with our entire offense. At times, I see it and at times, it’s not good enough.’’

The Bills announced late Tuesday afternoon that they had released the five-year veteran, obtained in a 2017 Halloween trade with the Carolina Panthers, the former team of McDermott and general manager Brandon Beane.

Seven-year veteran receiver Andre Holmes also was cut and center Russell Bodine, who broke his leg in Sunday’s loss at Miami, was placed on injured reserve.

Defensive end Mike Love and cornerback Denzel Rice were promoted from the practice squad to the 53-man roster.

Buffalo gave up third- and -seventh round picks in the Benjamin deal in hopes that the former Florida State standout and 2014 first-round pick — whose promising career stagnated after an ACL injury — would realize his potential with a fresh start.

In 18 games with Buffalo, Benjamin caught 39 passes for 571 yards and just two touchdowns.

This season, despite needing to showcase himself for a new contract, Benjamin caught a mere 23 passes for 354 yards and one score, hardly the stuff of Fantasy Football and making it obvious that a future with the Bills was also a fantasy.

In his defense, the Bills have started four different quarterbacks and lost first-round pick Josh Allen four games with an elbow injury.

While McDermott and Beane prayed Benjamin could develop chemistry with Allen after the rookie’s return, it wasn’t happening. Buffalo's offense remains 31st in total yards, passing yards and points scored.

Posted!

A link has been posted to your Facebook feed.

BUFFALO, NY - NOVEMBER 25: Kelvin Benjamin #13 of the Buffalo Bills bobbles a pass but manages to recover and hold on to the ball for the reception in the first quarter during NFL game action against the Jacksonville Jaguars at New Era Field on November 25, 2018 in Buffalo, New York. (Photo by Tom Szczerbowski/Getty Images) Tom Szczerbowski, Getty Images

ORCHARD PARK, NY - NOVEMBER 25: Kelvin Benjamin #13 of the Buffalo Bills fumbles and recovers a pass as Jalen Ramsey #20 of the Jacksonville Jaguars makes contact during the first quarter at New Era Field on November 25, 2018 in Orchard Park, New York. (Photo by Brett Carlsen/Getty Images) Brett Carlsen, Getty Images

BUFFALO, NY - NOVEMBER 04: Kelvin Benjamin #13 of the Buffalo Bills drops a pass in the end zone in the fourth quarter during NFL game action as he is hit by Kevin Toliver II #22 of the Chicago Bears at New Era Field on November 4, 2018 in Buffalo, New York. (Photo by Tom Szczerbowski/Getty Images) Tom Szczerbowski, Getty Images

Buffalo Bills wide receiver Kelvin Benjamin, center, dives into the first row of the stands after catching a touchdown pass from quarterback Nathan Peterman during the first half of an NFL football game against the Carolina Panthers, Thursday, Aug. 9, 2018, in Orchard Park, N.Y. (AP Photo/Adrian Kraus) Adrian Kraus, AP

ORCHARD PARK, NY - DECEMBER 10: Kelvin Benjamin #13 of the Buffalo Bills catches the ball as Kenny Moore #42 of the Indianapolis Colts attempts to defend him during the second quarter on December 10, 2017 at New Era Field in Orchard Park, New York. (Photo by Brett Carlsen/Getty Images) Brett Carlsen, Getty Images

CARSON, CA - NOVEMBER 19: Kelvin Benjamin #13 of the Buffalo Bills leaves the field after getting injured in the first quarter during the game against the Los Angeles Chargers at the StubHub Center on November 19, 2017 in Carson, California. (Photo by Harry How/Getty Images) Harry How, Getty Images

Buffalo Bills wide receiver Kelvin Benjamin (left) talks with wide receiver Joe Webb before the game against the New York Jets at MetLife Stadium. Benjamin recently was traded to Buffalo from the Carolina Panthers. Vincent Carchietta-USA TODAY Sports

Benjamin let a pass go through his hands at the goal line and while he did catch a pass on third down, he ran the route two yards shy of the first-down marker.

He had just three catches for 52 yards his last three games and lost playing time to rookie Robert Foster and newcomer Isaiah McKenzie, who have interjected more speed to the lineup over the plodding, 6-foot-5 Benjamin.

Second-year pro Zay Jones has also come on strong of late.

“Well, KB’s into it. We (just) have different personnel packages. That’s nothing on KB or what he’s doing,’’ said offensive coordinator Brian Daboll when asked recently if Benjamin was losing ground. “We just have different personnel packages that we kind of implement with Robert and Isaiah. Depending on the flow of the game, sometimes we can use more of it, sometimes we can use less of it. He’s been a good teammate, been into it, continues to grind it out. It can easily flip, depending on how a game goes or a matchup goes one way or another.’’

Those chances are now over for Benjamin in Buffalo. By acknowledging the trade did not pan out, the Bills can give even more repetitions to their younger receivers and plan for the draft.

Benjamin, whose base salary was $8.459 million this season, has $1.99 million remaining on that salary. That makes him a very expensive rental for a contending team down the stretch.

With the move, Buffalo’s amount of dead cap money increased to $60 million according to Spotrac.