Index: uc_cart.module
===================================================================
--- uc_cart.module	(revision 1692)
+++ uc_cart.module	(working copy)
@@ -344,9 +344,7 @@
         . ($p['path'] ? $p['path'] : '');
     }
     else {
-      // Path needs to be an internal path so we can pass it to url() later.
-      // Strip off the base path.
-      $path = substr($p['path'], drupal_strlen(base_path()));
+      $path = $p['path'];
     }
 
     // Figure out the destination.
@@ -364,7 +362,7 @@
     }
 
     // Build the new #action url.
-    $form['#action'] = url($path, array('query' => $query, 'fragment' => $p['fragment']));
+    $form['#action'] = url($path, array('external' => TRUE, 'query' => $query, 'fragment' => $p['fragment']));
   }
 
   if ($form_id == 'user_login' || $form_id == 'user_login_block') {
