Index: sites/all/modules/uc_node_checkout/uc_node_checkout.module
===================================================================
--- sites/all/modules/uc_node_checkout/uc_node_checkout.module	(revision 71)
+++ sites/all/modules/uc_node_checkout/uc_node_checkout.module	(working copy)
@@ -674,9 +674,11 @@
     case 'remove':
       // Delete the checkout node if setting calls for it
       if (variable_get('uc_node_checkout_delete_nodes', TRUE)) {
-        $data = unserialize($item->data);
-        if (isset($data['node_checkout_nid'])) {
-          node_delete($data['node_checkout_nid']);
+        $data = unserialize($item->data);        
+        if ($_SERVER['REDIRECT_QUERY_STRING'] != "q=cart/checkout/complete" || ($_SERVER['REDIRECT_QUERY_STRING'] == "q=cart/checkout/complete" AND !variable_get('uc_node_checkout_delete_nodes_keeponcheckout', TRUE) )){        	
+	      if (isset($data['node_checkout_nid'])) {
+	        node_delete($data['node_checkout_nid']);
+	      }
         }
       }
       break;
Index: sites/all/modules/uc_node_checkout/uc_node_checkout.admin.inc
===================================================================
--- sites/all/modules/uc_node_checkout/uc_node_checkout.admin.inc	(revision 59)
+++ sites/all/modules/uc_node_checkout/uc_node_checkout.admin.inc	(working copy)
@@ -196,6 +196,11 @@
     '#title' => t('Delete nodes whose creators remove the associated product from their cart.'),
     '#default_value' => variable_get('uc_node_checkout_delete_nodes', TRUE),
   );
+  $form['behavior']['uc_node_checkout_delete_nodes_keeponcheckout'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Keep nodes when the cart items are removed from cart during checkout process.'),
+    '#default_value' => variable_get('uc_node_checkout_delete_nodes_keeponcheckout', TRUE),
+  );
 
   if (module_exists('uc_stock')) {
     $form['stock'] = array(
