diff --git a/commerce_discount.module b/commerce_discount.module
index 7e9d95f..78b1d52 100644
--- a/commerce_discount.module
+++ b/commerce_discount.module
@@ -18,8 +18,8 @@ function commerce_discount_commerce_cart_order_refresh($wrapper) {
   $cloned_line_items = array();
   // Remove all discount references from the order.
   // (If there are none, setting array() would modify the order, so test first.)
-  if ($wrapper->__isset('commerce_discounts') && $wrapper->commerce_discounts->value()) {
-    $wrapper->commerce_discounts->set(array());
+  if (isset($wrapper->commerce_discounts) && $wrapper->commerce_discounts->value()) {
+    $wrapper->commerce_discounts = array();
   }
 
   // Remove discount components from the order total price.
diff --git a/commerce_discount.rules.inc b/commerce_discount.rules.inc
index 63bd018..b3e13f6 100644
--- a/commerce_discount.rules.inc
+++ b/commerce_discount.rules.inc
@@ -576,7 +576,7 @@ function commerce_discount_fixed_amount(EntityDrupalWrapper $wrapper, $discount_
     case 'commerce_order':
 
       // Exit if the wrapper doesn't have a commerce_discounts property.
-      if (!$wrapper->__isset('commerce_discounts')) {
+      if (!isset($wrapper->commerce_discounts)) {
         return;
       }
 
@@ -642,7 +642,7 @@ function commerce_discount_percentage(EntityDrupalWrapper $wrapper, $discount_na
 
       // Exit if there are no line items or the wrapper doesn't contain
       // the commerce_discounts property.
-      if (!$wrapper->commerce_line_items->value() || !$wrapper->__isset('commerce_discounts')) {
+      if (isset($wrapper->commerce_discounts) || !$wrapper->commerce_line_items->value()) {
         return;
       }
 
@@ -838,7 +838,7 @@ function commerce_discount_free_products(EntityDrupalWrapper $wrapper, $discount
   }
 
   // Exit if the wrapper doesn't have a commerce_discounts property.
-  if (!$wrapper->__isset('commerce_discounts')) {
+  if (!isset($wrapper->commerce_discounts)) {
     return;
   }
 
diff --git a/modules/commerce_discount_usage/commerce_discount_usage.module b/modules/commerce_discount_usage/commerce_discount_usage.module
index 25f9477..f3b0198 100644
--- a/modules/commerce_discount_usage/commerce_discount_usage.module
+++ b/modules/commerce_discount_usage/commerce_discount_usage.module
@@ -169,7 +169,7 @@ function commerce_discount_usage_order_discounts($order) {
   }
 
   // Add the set of discounts directly referenced on the order.
-  if (!empty($order->commerce_discounts)) {
+  if (isset($order->commerce_discounts) && $order_wrapper->commerce_discounts->value()) {
     foreach ($order_wrapper->commerce_discounts->value() as $discount) {
       $order_discounts[] = $discount->name;
     }
