That was one of my first thoughts, too ... but the head is set to PASSABLE and the code looks like this:
void set_head_position(CHARACTER* c) {
if (c->head == NULL) return;
VECTOR tmp;
vec_for_vertex(tmp, c.entity, c.headVertex);
c->head.x = tmp.x;
c->head.y = tmp.y;
c->head.z = tmp.z;
}
So there should be no collision detection at all.