That was one of my first thoughts, too ... but the head is set to PASSABLE and the code looks like this:

Code:
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.