The check to see if newly requested attributes are not already in the cache was not taking into account the possibility that we do not have new requested attributes (`num_requests == 0`). In this case, if `attr_used` already had attributes, but `attr_requested` is empty, we would consider the cache as dirty, and needlessly rebuild the attribute VBOs.