--- uc_coupon.ca.inc (saved version)
+++ (current document)
@@ -47,15 +47,14 @@
  * Check if an order has a coupon applied.
  */
 function uc_coupon_condition_order_has_coupon($order, $settings) {
-  if (isset($order->data['coupon'])) {
+  if (isset($_SESSION['uc_coupon'])) {
     // If no codes specified, match any coupon.
     if (empty($settings['codes'])) {
       return TRUE;
     }
-
     // Check codes for exact or wildcard matches.
     foreach (explode("\n", $settings['codes']) as $code) {
-      if (preg_match('/^' . str_replace('\*', '.*?', preg_quote(strtoupper(trim($code)), '/')) . '$/', $order->data['coupon'])) {
+      if (preg_match('/^' . str_replace('\*', '.*?', preg_quote(strtoupper(trim($code)), '/')) . '$/', strtoupper($_SESSION['uc_coupon']))) {
         return TRUE;
       }
     }
