--- pay_node.module	2010-11-01 18:13:52.000000000 -0700
+++ pay_node.module.new	2010-12-21 17:06:39.000000000 -0800
@@ -109,8 +109,14 @@
       $method = variable_get('pay_node_method_'. $node->type, '');
       $record = array('nid' => $node->nid, 'method' => $method);
 
+      // Remove link to existing pay form
+      if (! $node->pay_node) {
+        db_query("DELETE FROM {pay_form_node}
+          WHERE nid = %d AND method = '%s'", $node->nid, $method);
+      }
+
       // Link to an existing pay_form using its id.
-      if (is_scalar($node->pay_node) && $node->pay_node) {
+      elseif (is_scalar($node->pay_node)) {
         $record['pfid'] = $node->pay_node;
         db_query("DELETE FROM {pay_form_node}
           WHERE nid = %d AND method = '%s'", $node->nid, $method);
