diff --git a/uc_node_checkout.module b/uc_node_checkout.module
index 9c0b8f7..5188dba 100644
--- a/uc_node_checkout.module
+++ b/uc_node_checkout.module
@@ -724,8 +724,14 @@ function uc_node_checkout_nodeapi(&$node, $op, $arg3 = NULL, $arg4 = NULL) {
 
     // Load any saved attributes output from the DB for display on the node.
     case 'load':
-      $node->uc_order_product_id = db_result(db_query("SELECT order_product_id FROM {uc_node_checkout_order_products} WHERE nid = %d", $node->nid));
-      $node->ucnc_product_nid = db_result(db_query("SELECT nid FROM {uc_order_products} WHERE order_product_id = %d", $node->uc_order_product_id));
+      if (uc_node_checkout_node_associated($node)) {
+        $node->uc_order_product_id = db_result(db_query("SELECT order_product_id FROM {uc_node_checkout_order_products} WHERE nid = %d", $node->nid));
+        $node->ucnc_product_nid = db_result(db_query("SELECT nid FROM {uc_order_products} WHERE order_product_id = %d", $node->uc_order_product_id));
+        if (empty($node->uc_order_product_id)) {
+          $item = uc_node_checkout_load_cart_item($node->nid);
+          $node->attributes = $item->data['attributes'];
+        }
+      }
       break;
 
     // When enabled, deletes nodes from the site when their creators remove the
