diff --git a/user_delete.module b/user_delete.module
index 99ee375..f0a1c7b 100644
--- a/user_delete.module
+++ b/user_delete.module
@@ -42,18 +42,20 @@ function user_delete_menu() {
 }
 
 /**
- * Checks whether a user can delete an account
+ * Checks whether a user can delete an account.
+ *
+ * Unique function name required to avoid clash with core user_delete_access().
  */
-function user_delete_access($account) {
+function user_delete_user_delete_access($account) {
   global $user;
-  return (user_access('administer users') || (user_access('delete own account') && $account->uid == $user->uid));
+  return ((user_access('administer users') || (user_access('delete own account') && $account->uid == $user->uid)) && $account->uid > 0);
 }
 
 /**
  * Implementation of hook_menu_alter().
  */
 function user_delete_menu_alter(&$callbacks) {
-  $callbacks['user/%user/delete']['access callback'] = 'user_delete_access';
+  $callbacks['user/%user/delete']['access callback'] = 'user_delete_user_delete_access';
   $callbacks['user/%user/delete']['access arguments'] = array(1);
   $callbacks['user/%user/delete']['type'] = MENU_CALLBACK;
 }
