It looks like you are destroying the contact joints just after creating them. -----Original Message----- dJointID jointContactID = dJointCreateContact(world->getWorldID(), jointGroup, &contacts[i]); dJointAttach(jointContactID, dGeomGetBody(contacts[i].geom.g1), dGeomGetBody(contacts[i].geom.g2)); dJointDestroy(jointContactID);