diff --git a/modules/cart/commerce_cart.module b/modules/cart/commerce_cart.module
index 17ddcd1..caea8b9 100644
--- a/modules/cart/commerce_cart.module
+++ b/modules/cart/commerce_cart.module
@@ -2336,15 +2336,12 @@ function commerce_cart_add_to_cart_form_attributes_refresh($form, $form_state) {
           $replacement_class,
         );
 
-        // Theme the product extra field to $element.
-        $variables = array(
-          $product_extra_field_name => $product->{$product_extra_field_name},
-          'label' => $product_extra_field['label'] . ':',
-          'product' => $product,
-        );
-
+        // Build the product extra field to $element.
         $element = array(
-          '#markup' => theme($product_extra_field['theme'], $variables),
+          '#theme' => $product_extra_field['theme'],
+          'label' => $product_extra_field['label'] . ':',
+          '#' . $product_extra_field_name => $product->{$product_extra_field_name},
+          '#product' => $product,
           '#attached' => array(
             'css' => array(drupal_get_path('module', 'commerce_product') . '/theme/commerce_product.theme.css'),
           ),
diff --git a/modules/product_reference/commerce_product_reference.module b/modules/product_reference/commerce_product_reference.module
index c9f6ca6..246e0c0 100644
--- a/modules/product_reference/commerce_product_reference.module
+++ b/modules/product_reference/commerce_product_reference.module
@@ -436,14 +436,11 @@ function commerce_product_reference_entity_view($entity, $entity_type, $view_mod
             // Add the product extra field to the entity's content array.
             $content_key = 'product:' . $product_extra_field_name;
 
-            $variables = array(
-              $product_extra_field_name => $product->{$product_extra_field_name},
-              'label' => $product_extra_field['label'] . ':',
-              'product' => $product,
-            );
-
             $entity->content[$content_key] = array(
-              '#markup' => theme($product_extra_field['theme'], $variables),
+              '#theme' => $product_extra_field['theme'],
+              '#label' => $product_extra_field['label'] . ':',
+              '#' . $product_extra_field_name => $product->{$product_extra_field_name},
+              '#product' => $product,
               '#attached' => array(
                 'css' => array(drupal_get_path('module', 'commerce_product') . '/theme/commerce_product.theme.css'),
               ),
