diff --git a/modules/product_reference/commerce_product_reference.install b/modules/product_reference/commerce_product_reference.install
index ce81b85..e8dc8a0 100644
--- a/modules/product_reference/commerce_product_reference.install
+++ b/modules/product_reference/commerce_product_reference.install
@@ -1,6 +1,18 @@
 <?php
 
 /**
+ * Implements hook_install().
+ */
+function commerce_product_reference_install() {
+  // Give commerce_product_reference.module a higher weight than ds.module so we can use
+  // so we can use hook_entity_info_alter() for custom displayhook_system_info_alter() to override the dependencies it adds.
+  db_update('system')
+    ->fields(array('weight' => 2))
+    ->condition('name', 'commerce_product_reference', '=')
+    ->execute();
+}
+
+/**
  * Implements hook_field_schema().
  */
 function commerce_product_reference_field_schema($field) {
@@ -34,3 +46,14 @@ function commerce_product_reference_uninstall() {
   module_load_include('module', 'commerce');
   commerce_delete_fields('commerce_product_reference');
 }
+/**
+ * Give commerce_product_reference.module a higher weight than ds.module
+ * so the hook_entity_info_alter() will be applied also for custom view modes from Display Suite.
+ */
+function commerce_product_reference_update_7100() {
+  db_update('system')
+    ->fields(array('weight' => 2))
+    ->condition('name', 'commerce_product_reference', '=')
+    ->execute();
+  return t('The module weight for Commerce Product Reference has been increased.');
+}
\ No newline at end of file
