diff --git a/modules/product_reference/commerce_product_reference.module b/modules/product_reference/commerce_product_reference.module
index d33d4aa..abcb1cd 100644
--- a/modules/product_reference/commerce_product_reference.module
+++ b/modules/product_reference/commerce_product_reference.module
@@ -42,6 +42,11 @@ function commerce_product_reference_field_extra_fields() {
         // display" tabs. Otherwise these extra fields will not appear.
         $product_fields = commerce_product_field_extra_fields();
 
+        // Prevent notices if there are no product types defined.
+        if (empty($product_fields['commerce_product'])) {
+          continue;
+        }
+
         foreach ($product_fields['commerce_product'] as $key => $value) {
           foreach ($value['display'] as $product_extra_field_name => $product_extra_field) {
             $product_extra_field['label'] = t('Product: @label', array('@label' => $product_extra_field['label']));
@@ -89,6 +94,11 @@ function commerce_product_reference_field_extra_fields_display_alter(&$displays,
   // Loop over the extra fields defined by the Product module.
   $product_fields = commerce_product_field_extra_fields();
 
+  // Prevent notices if there are no product types defined.
+  if (empty($product_fields['commerce_product'])) {
+    return;
+  }
+
   foreach ($product_fields['commerce_product'] as $key => $value) {
     foreach ($value['display'] as $product_extra_field_name => $product_extra_field) {
       // If the current extra field is represented in the $displays array...
