--- og_user_roles.module.orig	2009-07-23 12:23:57.000000000 +0200
+++ og_user_roles.module	2009-07-23 12:27:39.000000000 +0200
@@ -1582,16 +1582,16 @@ function og_user_roles_boot() {
 	// As a result of http://drupal.org/node/176662 this can only be done if the
 	// "Allow group admins to approve users" setting is checked on.
     if (variable_get('og_user_roles_approval_default', 0) === 1 && ((!user_access('access administration pages')) && (arg(0) == 'user' && is_numeric(arg(1)) && arg(1) != 1) || (arg(0) == 'admin' && arg(1) == 'user' && arg(2) == 'user'))) {
-      $ref = $_SERVER["HTTP_REFERER"];
+      $ref = isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '';
       $ref_url = parse_url($ref);
-      $ref_path = $ref_url[path];
-      $ref_query = $ref_url[query];
+      $ref_path = $ref_url['path'];
+      $ref_query = isset($ref_url['query']) ? $ref_url['query'] : '';
       $ref_arg = explode('/', $ref_path);
 
 //      drupal_set_message('ref_query = ' . $ref_query);
 
       // Hijack only if the referrer contains oguseredit;
-      if ($ref_arg[1] == 'oguseredit' && arg(2) != 'user') {
+      if (isset($ref_arg[1]) && $ref_arg[1] == 'oguseredit' && arg(2) != 'user') {
         // If user clicks delete from user edit screen. Gets you to the
 		// "delete" confirmation.
         if (arg(2) == 'delete') {
@@ -1683,7 +1683,7 @@ function og_user_roles_user($op, &$edit,
 	// Variable "user_register" values: 0 = Admin Only, 1 = No Admin Approval, 2 = Admin Approval
     if (variable_get('og_user_roles_approval_default', 0) == 1 && (variable_get('user_register', 1) == 2 || ($user->status == 0))) {
        watchdog('new_user: status', 'user->status = ' . $user->status, WATCHDOG_NOTICE);
-      if (is_array($edit['og_register'])) {
+      if (isset($edit['og_register']) && is_array($edit['og_register'])) {
         $sender = variable_get('site_mail', '');
         $edit_test1 = $edit['og_register'];
         foreach (array_keys(array_filter($edit['og_register'])) as $gid) {
@@ -2170,7 +2170,7 @@ function og_user_roles_all_roles($user) 
   $ogroles = array();
   $x1 = 0;
   // Need to use the referrer to get OG group in some cases;
-  $ref = $_SERVER['HTTP_REFERER'];
+  $ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
   $ref_url = parse_url($ref);
   $ref_path = $ref_url['path'];
   $ref_query = isset($ref_url['query']) ? $ref_url['query'] : '';
