How to remove user role using hook_user_update
The errors in your code are two:


vdb_hook_user_update() is not the correct name for an implementation of hook_user_update()
vdb_hook_user_update() is being used as form submission handler


As consequence of the second point is that you are declaring the function with the wrong arguments, since a form submission handler gets two arguments: $form and &amp;$form_state.

As Clive pointed out, you should use hook_user_presave(), which is invoked before the user account is saved in the database. Remove the code adding the form submission handler, and implement hook_user_presave() using code similar to the following one.

function vd_user_presave(&amp;$edit, $account, $category) {
  if (!empty($account-&gt;uid) &amp;&amp; ($key = array_search('Hybridauth', $account-&gt;roles)) !== FALSE) {
    unset($account-&gt;roles[$key]);
  }
}