--- uc_node_checkout.module	2010-03-10 23:23:20.000000000 -0500
+++ uc_node_checkout.module	2010-03-10 23:25:24.000000000 -0500
@@ -361,7 +361,9 @@ function uc_node_checkout_form_alter(&$f
         // If specified, redirect anonymous customers to login.
         if (variable_get('uc_node_checkout_node_access', TRUE) && !$user->uid) {
           drupal_set_message(t('You must login or create a user account to continue.'));
-          $_SESSION['node_checkout_redirect'] = 'node/add/'. str_replace('_', '-', $type);
+          $request_page = request_uri();
+          $request_page = ereg_replace("^/", "", $request_page);
+          $_SESSION['node_checkout_redirect'] = $request_page;
           drupal_goto('user');
         }
         else {