diff --git a/commerce_discount.install b/commerce_discount.install
index d9136ec..bbd78b4 100644
--- a/commerce_discount.install
+++ b/commerce_discount.install
@@ -394,6 +394,7 @@ function commerce_discount_install_helper() {
  * @see commerce_discount_offer_type_info()
  */
 function commerce_discount_uninstall() {
+  module_load_include('module', 'commerce');
   // Drop all bundles attached on commerce_discount and commerce_discount_offer
   // entity types.
   field_attach_delete_bundle('commerce_discount', 'order_discount');
@@ -405,6 +406,10 @@ function commerce_discount_uninstall() {
   field_attach_delete_bundle('commerce_discount_offer', 'commerce_percent_off_ship_serv');
   field_attach_delete_bundle('commerce_discount_offer', 'free_products');
 
+  // Delete custom line items types.
+  field_attach_delete_bundle('commerce_line_item', 'commerce_discount');
+  field_attach_delete_bundle('commerce_line_item', 'product_discount');
+
   // Then delete the related fields
   commerce_delete_field('commerce_discount_offer');
   commerce_delete_field('commerce_fixed_amount');
diff --git a/modules/commerce_discount_date/commerce_discount_date.install b/modules/commerce_discount_date/commerce_discount_date.install
index e4b7e89..67e2692 100644
--- a/modules/commerce_discount_date/commerce_discount_date.install
+++ b/modules/commerce_discount_date/commerce_discount_date.install
@@ -39,5 +39,6 @@ function commerce_discount_date_install() {
  * Implements hook_uninstall().
  */
 function commerce_discount_date_uninstall() {
-  field_delete_field('commerce_discount_date');
+  module_load_include('module', 'commerce');
+  commerce_delete_field('commerce_discount_date');
 }
diff --git a/modules/commerce_discount_usage/commerce_discount_usage.install b/modules/commerce_discount_usage/commerce_discount_usage.install
index f7b3b07..0ffc51d 100644
--- a/modules/commerce_discount_usage/commerce_discount_usage.install
+++ b/modules/commerce_discount_usage/commerce_discount_usage.install
@@ -8,6 +8,15 @@ function commerce_discount_usage_install() {
 }
 
 /**
+ * Implements hook_uninstall().
+ */
+function commerce_discount_usage_uninstall() {
+  module_load_include('module', 'commerce');
+  commerce_delete_field('discount_usage_per_person');
+  commerce_delete_field('discount_usage_limit');
+}
+
+/**
  * Install fields for this module
  */
 function _commerce_discount_usage_install_helper() {
