The dontate module corrupts the menu router by adding spurious entries when it is used in conjunction with the pay_node module.

This occurs for 2 reasons:

1) pay node module tries to dis-allow access to the "menu_path" by setting the associated $form variable to an empty string instead of using unset.

2) Donate module's implementation of hook_menu creates menu items for each pay_from whose handler is set to 'donate' - but it fails to set the 'type' property - therefore EVERY pay_form node is set to MENU_NORMAL_ITEM by default. - but since pay_form blocks setting this variable - the menu router is corrupted with entries that have a title but no path.

In donate module's settings_form_submit function - a menu_rebuild() is called which writes the erroneous menu entries to the menu_router before they can be corrected.

The solution to this is to ensure that donate module explicitly sets the 'type' property to MENU_CALLBACK - and to then add in an option (a checkbox perhaps) to "add this form to the navigation menu" - which would alter the 'type' to MENU_NORMAL_ITEM.

For my own purposes I have hard-coded the type property to be MENU_CALLBACK as my site does not plan to have donation forms that are not associated with a node. I don't have time to patch up the checkbox solution - but I think this menu corruption issue should really be fixed.