diff --git a/uc_attribute/uc_attribute.module b/uc_attribute/uc_attribute.module
index aa66253..1e2e383 100644
--- a/uc_attribute/uc_attribute.module
+++ b/uc_attribute/uc_attribute.module
@@ -518,6 +518,7 @@ function uc_attribute_uc_cart_item($op, $item) {
         $item->cost += $option['cost'];
         $item->price += $option['price'];
         $item->weight += $option['weight'];
+        $item->display_price += $option['display_price'];
       }
 
       $combination = array();
@@ -731,9 +732,9 @@ function uc_attribute_load($aid, $id = NULL, $type = '') {
     $attribute->options = array();
     foreach ($result as $option) {
       $attribute->options[$option->oid] = $option;
+      $option->display_price = $option->price;
     }
   }
-
   return $attribute;
 }
 
@@ -1195,7 +1196,6 @@ function _uc_cart_product_get_options($item) {
   $options = array();
   $data = $item->data;
   $node = node_load($item->nid);
-
   $index = 0;
   if (!empty($data['attributes']) && is_array($data['attributes'])) {
     foreach ($data['attributes'] as $aid => $selected) {
@@ -1222,6 +1222,7 @@ function _uc_cart_product_get_options($item) {
             'name' => $selected,
             'cost' => 0,
             'price' => 0,
+            'display_price' => 0,
             'weight' => 0,
           );
         }
@@ -1264,12 +1265,12 @@ function _uc_attribute_alter_form($product) {
     foreach ($attribute->options as $option) {
       switch (variable_get('uc_attribute_option_price_format', 'adjustment')) {
         case 'total':
-          $display_price = in_array($attribute->aid, $priced_attributes) ? ', ' . uc_currency_format($product->sell_price + $option->price) : '';
+          $display_price = in_array($attribute->aid, $priced_attributes) ? ', ' . uc_currency_format($product->display_price + $option->display_price) : '';
           if (count($priced_attributes) == 1 && $attribute->display != 3) {
             break;
           }
         case 'adjustment':
-          $display_price = ($option->price != 0 ? ', ' . ($option->price > 0 ? '+' : '') . uc_currency_format($option->price) : '');
+          $display_price = ($option->display_price != 0 ? ', ' . ($option->display_price > 0 ? '+' : '') . uc_currency_format($option->display_price) : '');
           break;
         case 'none':
         default:
diff --git a/uc_taxes/uc_taxes.module b/uc_taxes/uc_taxes.module
index 826d702..1e6fed6 100644
--- a/uc_taxes/uc_taxes.module
+++ b/uc_taxes/uc_taxes.module
@@ -107,6 +107,17 @@ function uc_taxes_node_load($nodes, $types) {
       if (!empty($suffixes)) {
         $node->display_price_suffix .= implode(' ', $suffixes);
       }
+
+      if (!empty($node->attributes)) {
+        foreach ($node->attributes as &$attribute) {
+          if (!empty($attribute->options)) {
+            foreach ($attribute->options as &$option) {
+              list($amount) = uc_taxes_get_included_tax($node, $option->price);
+              $option->display_price += $amount;
+            }
+          }
+        }
+      }
     }
   }
 }
