diff --git a/payment/uc_paypal/uc_paypal.install b/payment/uc_paypal/uc_paypal.install
index a5623bc..1033164 100644
--- a/payment/uc_paypal/uc_paypal.install
+++ b/payment/uc_paypal/uc_paypal.install
@@ -135,3 +135,15 @@ function uc_paypal_update_6000() {
 
   return $ret;
 }
+
+/**
+ * Remove duplicate currency code setting.
+ */
+function uc_paypal_update_6001() {
+  $ret = array();
+
+  variable_del('uc_paypal_wpp_currency');
+  variable_del('uc_paypal_wps_currency');
+
+  return $ret;
+}
diff --git a/payment/uc_paypal/uc_paypal.module b/payment/uc_paypal/uc_paypal.module
index cb4e937..448d5cf 100644
--- a/payment/uc_paypal/uc_paypal.module
+++ b/payment/uc_paypal/uc_paypal.module
@@ -206,14 +206,6 @@ function uc_paypal_payment_method() {
  * Settings for Website Payments Pro on the Payment gateways form.
  */
 function uc_paypal_wpp_settings_form() {
-  // The DoDirectPayment API call allows fewer currencies than PayPal in general.
-  $form['paypal_wpp']['uc_paypal_wpp_currency'] = array(
-    '#type' => 'select',
-    '#title' => t('Currency code'),
-    '#description' => t('Transactions can only be processed in one of the listed currencies.'),
-    '#options' => _uc_paypal_currency_array(),
-    '#default_value' => variable_get('uc_paypal_wpp_currency', 'USD'),
-  );
   $form['paypal_wpp']['uc_paypal_wpp_server'] = array(
     '#type' => 'select',
     '#title' => t('API server'),
@@ -311,7 +303,7 @@ function uc_paypal_wpp_charge($order_id, $amount, $data) {
       'METHOD' => 'DoCapture',
       'AUTHORIZATIONID' => $data['auth_id'],
       'AMT' => uc_price($amount, $context, $options),
-      'CURRENCYCODE' => variable_get('uc_paypal_wpp_currency', 'USD'),
+      'CURRENCYCODE' => $order->currency,
       'COMPLETETYPE' => 'Complete',
     );
   }
@@ -379,7 +371,7 @@ function uc_paypal_wpp_charge($order_id, $amount, $data) {
       'STATE' => uc_get_zone_code($order->billing_zone),
       'ZIP' => $order->billing_postal_code,
       'COUNTRYCODE' => $billing_country[0]['country_iso_code_2'],
-      'CURRENCYCODE' => variable_get('uc_paypal_wpp_currency', 'USD'),
+      'CURRENCYCODE' => $order->currency,
       'DESC' => substr($desc, 0, 127),
       'INVNUM' => $order_id .'-'. time(),
       'BUTTONSOURCE' => 'Ubercart_ShoppingCart_DP_US',
@@ -518,13 +510,6 @@ function uc_payment_method_paypal_wps($op, &$arg1) {
         '#description' => t('The e-mail address you use for the PayPal account you want to receive payments.'),
         '#default_value' => variable_get('uc_paypal_wps_email', ''),
       );
-      $form['uc_paypal_wps_currency'] = array(
-        '#type' => 'select',
-        '#title' => t('Currency code'),
-        '#description' => t('Transactions can only be processed in one of the listed currencies.'),
-        '#options' => _uc_paypal_currency_array(),
-        '#default_value' => variable_get('uc_paypal_wps_currency', 'USD'),
-      );
       $form['uc_paypal_wps_language'] = array(
         '#type' => 'select',
         '#title' => t('PayPal login page language'),
@@ -684,7 +669,7 @@ function uc_paypal_ec_checkout($form, &$form_state) {
     'RETURNURL' => url('cart/echeckout/selected', array('absolute' => TRUE)),
     'CANCELURL' => url('uc_paypal/wps/cancel', array('absolute' => TRUE)),
     'AMT' => uc_price($order->order_total, $context, $options),
-    'CURRENCYCODE' => variable_get('uc_paypal_wpp_currency', 'USD'),
+    'CURRENCYCODE' => $order->currency,
     'PAYMENTACTION' => variable_get('uc_paypal_wpp_payment_action', 'Sale'),
     'DESC' => substr($desc, 0, 127),
     'INVNUM' => $order->order_id .'-'. time(),
@@ -779,7 +764,7 @@ function uc_paypal_ec_form_submit($form, &$form_state) {
     'RETURNURL' => url('cart/echeckout/review', array('absolute' => TRUE)),
     'CANCELURL' => url('uc_paypal/wps/cancel', array('absolute' => TRUE)),
     'AMT' => uc_price($subtotal, $context, $options),
-    'CURRENCYCODE' => variable_get('uc_paypal_wpp_currency', 'USD'),
+    'CURRENCYCODE' => $order->currency,
     'PAYMENTACTION' => variable_get('uc_paypal_wpp_payment_action', 'Sale'),
     'DESC' => substr($desc, 0, 127),
     'INVNUM' => $order->order_id .'-'. time(),
@@ -865,7 +850,7 @@ function uc_paypal_ec_submit_form_submit($form, &$form_state) {
     'ITEMAMT' => uc_price($subtotal, $context, $options),
     'SHIPPINGAMT' => uc_price($shipping, $context, $options),
     'TAXAMT' => uc_price($tax, $context, $options),
-    'CURRENCYCODE' => variable_get('uc_paypal_wpp_currency', 'USD'),
+    'CURRENCYCODE' => $order->currency,
   );
 
   $nvp_response = uc_paypal_api_request($nvp_request, variable_get('uc_paypal_wpp_server', 'https://api-3t.sandbox.paypal.com/nvp'));
@@ -951,7 +936,7 @@ function uc_paypal_wps_form($form_state, $order) {
     'rm' => 2,
 
     // Transaction information
-    'currency_code' => variable_get('uc_paypal_wps_currency', 'USD'),
+    'currency_code' => $order->currency,
     'handling_cart' => uc_price($shipping, $context, $options),
     'invoice' => $order->order_id .'-'. uc_cart_get_id(),
     'tax_cart' => uc_price($tax, $context, $options),
@@ -1281,10 +1266,3 @@ function _uc_paypal_reversal_message($reason) {
       return t('Reason "@reason" unknown; contact PayPal Customer Service for more information.', array('@reason' => $reason));
   }
 }
-
-/**
- * Returns an array of possible currency codes.
- */
-function _uc_paypal_currency_array() {
-  return drupal_map_assoc(array('AUD', 'BRL', 'CAD', 'CHF', 'CZK', 'DKK', 'EUR', 'GBP', 'HKD', 'HUF', 'ILS', 'JPY', 'MXN', 'MYR', 'NOK', 'NZD', 'PHP', 'PLN', 'SEK', 'SGD', 'THB', 'TWD', 'USD'));
-}
