=== modified file 'uc_order/uc_order.ca.inc'
--- uc_order/uc_order.ca.inc	2009-07-01 15:58:50 +0000
+++ uc_order/uc_order.ca.inc	2009-07-21 18:11:02 +0000
@@ -587,7 +587,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']) {
@@ -626,13 +626,15 @@
     ),
     '#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;
+    $options += uc_product_get_models(node_load($product), FALSE);
   }
+
   $form['products'] = array('#type' => 'select',
-    '#title' => t('Products'),
+    '#title' => t('Product models'),
     '#options' => $options,
     '#default_value' => $settings['products'],
     '#multiple' => TRUE,

=== modified file 'uc_product/uc_product.module'
--- uc_product/uc_product.module	2009-07-21 14:29:21 +0000
+++ uc_product/uc_product.module	2009-07-21 18:17:07 +0000
@@ -1661,13 +1661,19 @@
 /**
  * Get all models of a product (node).
  *
+ * Gather any modules' models on this node, then add the node's SKU and the
+ * optional 'Any' option.
+ *
  * @param $nid
  *   The node ID of the product.
- *
- * Add the generic 'Any' option and the node SKU, then gather any modules'
- * models on this node.
+ * @param $add_blank
+ *   String to use for the initial blank entry. If not desired, set to NULL
+ *   or FALSE. Make sure to localize the string first. Defaults to '- Any -'.
+ * @return
+ *   An associative array of model numbers. The key for '- Any -' is the empty
+ *   string.
  */
-function uc_product_get_models($node) {
+function uc_product_get_models($node, $add_blank = TRUE) {
   // Get any modules' SKUs on this node.
   $models = module_invoke_all('uc_product_models', $node);
   // Add the base SKU of the node.
@@ -1679,7 +1685,14 @@
   asort($models);
 
   // And finally, we prepend 'Any' so it's the first option.
-  return array(NULL => 'Any') + $models;
+  if (!empty($add_blank) || $add_blank === '') {
+    if ($add_blank === TRUE) {
+      $add_blank = t('- Any -');
+    }
+    return array('' => $add_blank) + $models;
+  }
+
+  return $models;
 }
 
 /**

