diff --git a/panda/src/pgraph/pandaNode.cxx b/panda/src/pgraph/pandaNode.cxx index 80b54e5d13..f957983bdc 100644 --- a/panda/src/pgraph/pandaNode.cxx +++ b/panda/src/pgraph/pandaNode.cxx @@ -1678,7 +1678,11 @@ copy_all_properties(PandaNode *other) { cdataw->_effects = cdatar->_effects; cdataw->_draw_control_mask = cdatar->_draw_control_mask; cdataw->_draw_show_mask = cdatar->_draw_show_mask; - cdataw->_into_collide_mask = cdatar->_into_collide_mask; + + // The collide mask becomes the union of the two masks. This is + // important to preserve properties such as the default GeomNode + // bitmask. + cdataw->_into_collide_mask |= cdatar->_into_collide_mask; TagData::const_iterator ti; for (ti = cdatar->_tag_data.begin();