diff --git a/modules/cart/commerce_cart.module b/modules/cart/commerce_cart.module
index 8274e3d..1e86f43 100644
--- a/modules/cart/commerce_cart.module
+++ b/modules/cart/commerce_cart.module
@@ -1662,7 +1662,12 @@ function commerce_cart_add_to_cart_form($form, &$form_state, $line_item, $show_q
 
             // Otherwise just use the base language values.
             if (empty($allowed_values)) {
-              $allowed_values = _options_get_options($field, $instance, $properties, 'commerce_product', $default_product);
+              if (is_callable(array($default_product_wrapper->{$field['field_name']}, 'optionsList'))) {
+                $allowed_values = $default_product_wrapper->{$field['field_name']}->optionsList();
+              }
+              else {
+                $allowed_values = _options_get_options($field, $instance, $properties, 'commerce_product', $default_product);
+              }
             }
 
             // Only consider this field a qualifying attribute field if we could
