My current team operates under the Scrum approach to agile development. We do it properly, adhering to the guidelines and roles of a Scrum team, with a sprint length of 9 days and a team of 7.
We go through the backlog in the grooming and planning meetings, estimating what we need to, negotiating with the product owner etc and come up with a sprint of a point size meeting our velocity. However, the problem is this: towards the end of the sprint (up to 2 or 3 days prior to the finish) some (not all) team members find they have little work to be doing whilst others are finishing off/working on tasks which can't easily/reasonably be worked on by more than the current number of developers. The usual result of this is pulling extra work in - but because we're nearing the end of the sprint, the work pulled in tends to be a series of bug fixes and small tasks which might usually occupy a single developer for a day.
My question is this: is running low on work toward the end of a sprint common? Is there anything which can be done to avoid it? Improve the situation?