diff --git a/dul.module b/dul.module
index 53f6ec9..5fe1a64 100644
--- a/dul.module
+++ b/dul.module
@@ -10,7 +10,7 @@
  * Implements hook_form_FORM_ID_alter().
  */
 function dul_form_user_profile_form_alter(&$form, $form_state) {
-  if (isset($form['locale']) && isset($form['_account']) && !user_access('change own user language', $form['_account']['#value'])) {
+  if (isset($form['locale']) && isset($form['#user']) && !user_access('change own user language', $form['#user'])) {
     if (count(element_children($form['locale'])) > 1) {
       unset($form['locale']['language']);
     }
@@ -38,8 +38,10 @@ function dul_permission() {
 /**
  * Implements hook_user().
  */
-function dul_user_load(&$edit, &$account, $category = NULL) {
-  if ($account->uid && !user_access('change own user language', $account)) {
-    $account->language = language_default('language');
+function dul_user_load($accounts) {
+  foreach ($accounts as $id => $account) {
+    if (!user_access('change own user language', $account)) {
+      $account->language = language_default('language');
+    }
   }
 }
