Another option is to use SQL Spatial and skip the buffer creation altogether.
This can be done using the DB Manager SQL editor tool (note I have had some issues on my machine but things should work fine on your machine with the SQL below - I have used PostGIS to write the sql, but the syntax in DB Manager is identical)
The logic below uses the ST_DWithin function, which is a more efficient use of finding points within a buffer - it just returns the points within the distance specified, without the need to create the buffer itself.
Usually you would use these functions in PostGIS, Spatialite or another spatial database, but the QGIS DB Manager lets you perform these functions on shapefiles, which I'm guessing you're using.
So the sql would look something like this (where I'm counting the number of bus stops from a set of schools defined by their schnum)
, count(*) as "BusStopCount"
from "schools" as sch
, "rtd_bus_stops" as b
where sch.schnum in ('455', '447')
and ST_DWithin(ST_Transform(b.geom, 2877), ST_Transform(sch.geom, 2877), 1500)
group by sch.schnum
And the output looks like this:
Note a few other things happening in there: I'm projecting the geometry columns of both tables to CO State Plane (2877) which is in FEET, so I can calculate the distance the ST_DWithin function uses as 500 'feet' (my data is all stored in WGS84/4326
And also note the count and grouping functions used in standard SQL count queries.
Lastly: If you DID want to use buffers, because you had different buffer sizes depending on different variables within each type of building or in my case school, you could use CASE statements in the SQL to generate the buffers based on a data value.