I don't understand two of your changes to ewiki_control_links. It seems that you are mixing the old and new implementations of ewiki_auth. The first change is to have the function accept data by reference. Since the function does not alter data itself and calls no other complex functions I assume this is done so that ewiki_auth() can garbage the data. function ewiki_control_links($id, &$data, $action) { Since $data is now passed to ewiki_auth($id, $data, $action) (instead of the previous $uu) this seems to be the case. But if ewiki_auth() does garbage the data based on this call, it will be doing so based on the attempted control's action--destroying the data for any other plugin. Of course the situation becomes even more muddled since we decided that ewiki_auth() will no longer be garbaging data--so why is data being passed to ewiki_control_links() by reference? Andy