--- uc_gift_certificate.module.old	2009-04-20 10:01:55.000000000 -0600
+++ uc_gift_certificate.module	2009-05-03 23:55:32.000000000 -0600
@@ -888,8 +888,10 @@ function uc_gift_certificate_order($op, 
       }
 
       // If the order has reached "completed" status, create the Certificates and update values for this order.
-      // TODO: This should be reworked
-      if ($arg2 == 'completed' || ($arg2 == 'payment_received' && $arg1->payment_method == 'paypal_wps')) {
+      $cert_order_status = variable_get('uc_gift_certificate_order_status');
+      $cert_order_status = $cert_order_status[$arg2];
+      
+      if ($cert_order_status != '0') {
         uc_gift_certificate_update_cert_vals($arg1->order_id);
         uc_gift_certificate_create_new_certs($arg1->order_id);
       }
