diff --git a/modules/product_reference/commerce_product_reference.module b/modules/product_reference/commerce_product_reference.module
index 0d2817d..a2d7fc5 100644
--- a/modules/product_reference/commerce_product_reference.module
+++ b/modules/product_reference/commerce_product_reference.module
@@ -1146,3 +1146,24 @@ function commerce_product_reference_property_info_callback(&$info, $entity_type,
   $property = &$info[$entity_type]['bundles'][$instance['bundle']]['properties'][$field['field_name']];
   $property['options list'] = 'entity_metadata_field_options_list';
 }
+
+/**
+ * Returns a list of all node types that contain a product reference field.
+ *
+ * @return
+ *   An array of node types, keyed by type.
+ */
+function commerce_product_reference_node_types() {
+  $list = array();
+  $types = node_type_get_types();
+  foreach (field_info_fields() as $field_name => $field) {
+    if ($field['type'] == 'commerce_product_reference' && !empty($field['bundles']['node'])) {
+      foreach($field['bundles']['node'] as $bundle) {
+        $list[$bundle] = $types[$bundle];
+      }
+    }
+  }
+
+  ksort($list);
+  return $list;
+}
