diff --git a/src/physics_entity.c b/src/physics_entity.c
index 4fc4924..5f559d3 100644
--- a/src/physics_entity.c
+++ b/src/physics_entity.c
@@ -97,6 +97,8 @@ void physics_entity_update(PhysicsEntity self) {
     List* contacts = rigidbody_get_contacts(body);
     if(contacts->len > 0) {
         self.tc->collision_solver(self.data, contacts);
+        list_foreach(Contact, contact, contacts)
+            self.tc->on_collision(self.data, contact->hit);
     }
 
     ASSERT_RETURN(!visnanf(rigidbody_get_velocity(body)),, "Velocity is NaN (1)");