Why does it sometimes return a buffer? I dunno, but deal with it if so