diff --git a/shipping/uc_usps/uc_usps.module b/shipping/uc_usps/uc_usps.module
index 5b13678..cafdbb2 100644
--- a/shipping/uc_usps/uc_usps.module
+++ b/shipping/uc_usps/uc_usps.module
@@ -341,11 +341,14 @@ function uc_usps_quote($products, $details, $method) {
   // The uc_quote AJAX query can fire before the customer has completely
   // filled out the destination address, so check to see whether the address
   // has all needed fields. If not, abort.
-  $destination = (object) $details;
-  if (empty($destination->zone)        ||
-      empty($destination->postal_code) ||
-      empty($destination->country)       ) {
-    // Skip this shipping method.
+
+  // The country code is required.
+  if (empty($destination->country)) {
+    return array();
+  }
+
+  // US requires zone and postal code.
+  if ($destination->country == 840 && (empty($destination->zone) || empty($destination->postal_code))) {
     return array();
   }
 
