=== modified file 'uc_order/uc_order.ca.inc'
--- uc_order/uc_order.ca.inc	2009-06-15 15:34:44 +0000
+++ uc_order/uc_order.ca.inc	2009-07-02 21:02:32 +0000
@@ -527,7 +527,7 @@
 function uc_order_condition_has_products($order, $settings) {
   $products = array();
   foreach ($order->products as $product) {
-    $products[] = $product->nid;
+    $products[] = $product->model;
   }
   $required = array_intersect($settings['products'], $products);
   if ($settings['required']) {
@@ -563,13 +563,17 @@
     ),
     '#default_value' => $settings['forbidden'],
   );
+
   $options = array();
-  $result = db_query("SELECT nid, model FROM {uc_products}");
+  $result = db_query("SELECT nid FROM {uc_products}");
   while ($product = db_fetch_object($result)) {
-    $options[$product->nid] = $product->model;
+    $models = drupal_map_assoc(uc_product_get_models(node_load($product)));
+    $options = array_merge($options, $models);
   }
+  asort($options);
+
   $form['products'] = array('#type' => 'select',
-    '#title' => t('Products'),
+    '#title' => t('Product Models'),
     '#options' => $options,
     '#default_value' => $settings['products'],
     '#multiple' => TRUE,

