Non-existing protocols doesn't throw fatal error in php 5.3 now, order of functions in protocols.php has changed for better code look