--- uc_profile.module	2010-11-17 16:43:18.000000000 -0500
+++ uc_profile.anon.module	2010-11-17 17:01:14.000000000 -0500
@@ -1,5 +1,4 @@
 <?php
-
 // $Id:$
 
 /**
@@ -51,13 +50,20 @@ function uc_checkout_pane_profile($op, &
 
   switch ($op) {
     case 'view':
+
+      // If user is anonymous, use an empty user account.
+      $account = $user;
+      if(user_is_anonymous()) {
+        $account = user_load(array("name" => "anon"));
+      }
+
       $contents = array();
       //get the profile
 
       $profile_categories = profile_categories();
 
-      profile_load_profile($user);
-      $edit = get_object_vars($user);
+      profile_load_profile($account);
+      $edit = get_object_vars($account);
 
       $master_form = array();
 
@@ -67,9 +73,9 @@ function uc_checkout_pane_profile($op, &
       foreach($profile_categories as $pc) {
         // Adds this profile category if the admin has enabled it 
         // for use on the checkout pane and if the user can access it.
-        // TODO: Confirm whether profile_category_access is required.
-        if(!empty($selected_profile_categories[$pc['name']]) && profile_category_access($user, $pc['name'])) {
-          $profile_form = profile_form_profile($edit, $user, $pc['name']);
+        // TODO: Determine why access control check caused problems.
+        if(!empty($selected_profile_categories[$pc['name']])) {
+          $profile_form = profile_form_profile($edit, $account, $pc['name']);
           $master_form[$pc['name']] = $profile_form[$pc['name']];
           $num_categories += 1;
         }
@@ -310,4 +316,4 @@ function uc_profile_token_values($type, 
 function uc_profile_id_safe($string) {
   return strtolower(preg_replace('/[^a-zA-Z0-9-]+/', '-', $string));
 }
-*/
+*/
\ No newline at end of file
