=== modified file 'uc_cart/uc_cart.module'
--- uc_cart/uc_cart.module	2009-08-27 18:21:42 +0000
+++ uc_cart/uc_cart.module	2009-09-10 20:15:33 +0000
@@ -1177,6 +1177,7 @@
     // If it was found, update the order.
     if ($account = db_fetch_object($result)) {
       $order->uid = $account->uid;
+      $account = user_load($account->uid);
       db_query("UPDATE {uc_orders} SET uid = %d WHERE order_id = %d", $order->uid, $order->order_id);
       $message_type = 'existing_user';
     }
@@ -1229,9 +1230,11 @@
   else {
     if ($order->uid == $user->uid) {
       $message_type = 'logged_in';
+      $account = clone $user;
     }
     else {
       $message_type = 'existing_user';
+      $account = user_load($order->uid);
     }
   }
 
@@ -1263,10 +1266,6 @@
   // Clear our the session variables used to force the cart workflow.
   unset($_SESSION['cart_order'], $_SESSION['do_complete'], $_SESSION['new_user']);
 
-  if ($user->uid != 0) {
-    $account = clone $user;
-  }
-
   module_invoke_all('uc_checkout_complete', $order, $account);
   ca_pull_trigger('uc_checkout_complete', $order, $account);
 

