Two things that didn't add up
This is one of my favorite movies but I noticed two things that don't make a lot of sense.
In the warehouse scene, Colin identifies each member of Costello's crew, there are only 5 of them (Costello, French, Fitz, Delahunt & Costigan). Costigan leaves his phone on which the police identify one phone is on, Colin sees Queenan get a text for his undercover. If there are only so few guys how was it that hard for Costello to figure out who the rat was?
Another thing was when Colin identifies all the guys getting out the car, this would tell me his crew knows what they all look like. Wouldn't Anthony Anderson's character have noticed Costigan since they were in the Academy together? He says it later on in the movie.
This isn't really a flaw but after Queenan was killed, it seems like a really stupid idea to suspend the only other guy who has direct access to Costello's undercover. Queenan's death IMO would have made Costello an even bigger target, they should have kept Dignam on until after they got him.
Other than that I thought the film was perfect, and I might have missed something with the two points above.